
diff -r 5b1cd0f93d8b -r 98ee674d18d3 src/Tools/isac/Knowledge/Rational.thy
--- a/src/Tools/isac/Knowledge/Rational.thy	Sun May 02 15:55:37 2021 +0200
+++ b/src/Tools/isac/Knowledge/Rational.thy	Mon May 03 08:49:50 2021 +0200
@@ -25,7 +25,7 @@
   | is_ratpolyexp (Const ("Groups.plus_class.plus",_) $ Free _ $ Free _) = true
   | is_ratpolyexp (Const ("Groups.minus_class.minus",_) $ Free _ $ Free _) = true
   | is_ratpolyexp (Const ("Groups.times_class.times",_) $ Free _ $ Free _) = true
-  | is_ratpolyexp (Const ("Prog_Expr.pow",_) $ Free _ $ Free _) = true
+  | is_ratpolyexp (Const ("Transcendental.powr",_) $ Free _ $ Free _) = true
   | is_ratpolyexp (Const ("Rings.divide_class.divide",_) $ Free _ $ Free _) = true
   | is_ratpolyexp (Const ("Groups.plus_class.plus",_) $ t1 $ t2) = 
                ((is_ratpolyexp t1) andalso (is_ratpolyexp t2))
@@ -33,7 +33,7 @@
                ((is_ratpolyexp t1) andalso (is_ratpolyexp t2))
   | is_ratpolyexp (Const ("Groups.times_class.times",_) $ t1 $ t2) = 
                ((is_ratpolyexp t1) andalso (is_ratpolyexp t2))
-  | is_ratpolyexp (Const ("Prog_Expr.pow",_) $ t1 $ t2) = 
+  | is_ratpolyexp (Const ("Transcendental.powr",_) $ t1 $ t2) = 
                ((is_ratpolyexp t1) andalso (is_ratpolyexp t2))
   | is_ratpolyexp (Const ("Rings.divide_class.divide",_) $ t1 $ t2) = 
                ((is_ratpolyexp t1) andalso (is_ratpolyexp t2))
@@ -127,7 +127,7 @@
     if TermC.is_num' id 
     then (id |> TermC.int_opt_of_string |> the |> curry op * c, es) (*several numerals in one monom*)
     else (c, list_update es (find_index (curry op = t) vs) 1)
-  | monom_of_term  vs (c, es) (Const ("Prog_Expr.pow", _) $ (t as Free _) $ Free (e, _)) =
+  | monom_of_term  vs (c, es) (Const ("Transcendental.powr", _) $ (t as Free _) $ Free (e, _)) =
     (c, list_update es (find_index (curry op = t) vs) (the (TermC.int_opt_of_string e)))
   | monom_of_term vs (c, es) (Const ("Groups.times_class.times", _) $ m1 $ m2) =
     let val (c', es') = monom_of_term vs (c, es) m1
@@ -138,7 +138,7 @@
     [monom_of_term  vs (1, replicate (length vs) 0) t]
   | monoms_of_term vs (t as Free _) =
     [monom_of_term  vs (1, replicate (length vs) 0) t]
-  | monoms_of_term vs (t as Const ("Prog_Expr.pow", _) $ _ $  _) =
+  | monoms_of_term vs (t as Const ("Transcendental.powr", _) $ _ $  _) =
     [monom_of_term  vs (1, replicate (length vs) 0) t]
   | monoms_of_term vs (t as Const ("Groups.times_class.times", _) $ _ $  _) =
     [monom_of_term  vs (1, replicate (length vs) 0) t]
@@ -179,7 +179,7 @@
   | term_of_es baseT expT (_ :: vs) (0 :: es) = [] @ term_of_es baseT expT vs es
   | term_of_es baseT expT (v :: vs) (1 :: es) = v :: term_of_es baseT expT vs es
   | term_of_es baseT expT (v :: vs) (e :: es) =
-    Const ("Prog_Expr.pow", [baseT, expT] ---> baseT) $ v $  (Free (TermC.isastr_of_int e, expT))
+    Const ("Transcendental.powr", [baseT, expT] ---> baseT) $ v $  (Free (TermC.isastr_of_int e, expT))
     :: term_of_es baseT expT vs es
   | term_of_es _ _ _ _ = raise ERROR "term_of_es: length vs <> length es"
 
@@ -516,7 +516,7 @@
 	  [("PLUS", ("Groups.plus_class.plus", (**)eval_binop "#add_")),
 	  ("TIMES" , ("Groups.times_class.times", (**)eval_binop "#mult_")),
 	  ("DIVIDE", ("Rings.divide_class.divide", Prog_Expr.eval_cancel "#divide_e")),
-	  ("POWER", ("Prog_Expr.pow", (**)eval_binop "#power_"))],
+	  ("POWER", ("Transcendental.powr", (**)eval_binop "#power_"))],
     errpatts = [],
 	scr =
 	  Rule.Rfuns {init_state  = init_state thy Atools_erls ro,
@@ -583,7 +583,7 @@
     calc = [("PLUS", ("Groups.plus_class.plus", (**)eval_binop "#add_")),
       ("TIMES", ("Groups.times_class.times", (**)eval_binop "#mult_")),
       ("DIVIDE", ("Rings.divide_class.divide", Prog_Expr.eval_cancel "#divide_e")),
-      ("POWER", ("Prog_Expr.pow", (**)eval_binop "#power_"))],
+      ("POWER", ("Transcendental.powr", (**)eval_binop "#power_"))],
     errpatts = [],
     scr = Rule.Rfuns {init_state  = init_state thy Atools_erls ro,
       normal_form = add_fraction_p_ thy,




