diff --git a/thys/Gauss_Jordan/Code_Real_Approx_By_Float_Haskell.thy b/thys/Gauss_Jordan/Code_Real_Approx_By_Float_Haskell.thy --- a/thys/Gauss_Jordan/Code_Real_Approx_By_Float_Haskell.thy +++ b/thys/Gauss_Jordan/Code_Real_Approx_By_Float_Haskell.thy @@ -1,66 +1,62 @@ (* Title: Code_Real_Approx_By_Float_Haskell.thy Author: Jose Divasón Author: Jesús Aransay *) section\Serialization of real numbers in Haskell\ theory Code_Real_Approx_By_Float_Haskell imports "HOL-Library.Code_Real_Approx_By_Float" begin text\\textbf{WARNING} This theory implements mathematical reals by machine reals in Haskell, in a similar way to the work done in the theory \Code_Real_Approx_By_Float_Haskell\. This is inconsistent.\ subsection\Implementation of real numbers in Haskell\ code_printing type_constructor real \ (Haskell) "Prelude.Double" (*Double precission*) | constant "0 :: real" \ (Haskell) "0.0" | constant "1 :: real" \ (Haskell) "1.0" - | constant "real_of_integer" \ (Haskell) "Prelude.fromIntegral (_)" + | constant "Code_Real_Approx_By_Float.real_of_integer" \ (Haskell) "Prelude.fromIntegral (_)" | class_instance real :: "HOL.equal" => (Haskell) - (*This is necessary. See the tutorial on code generation, page 29*) | constant "HOL.equal :: real \ real \ bool" \ (Haskell) "(_) == (_)" | constant "(<) :: real => real => bool" \ (Haskell) "_ < _" | constant "(\) :: real => real => bool" \ (Haskell) "_ <= _" | constant "(+) :: real \ real \ real" \ (Haskell) "(_) + (_)" | constant "(-) :: real \ real \ real" \ (Haskell) "(_) - (_)" | constant "(*) :: real \ real \ real" \ (Haskell) "(_) * (_)" | constant "(/) :: real \ real \ real" \ (Haskell) " (_) '/ (_)" | constant "uminus :: real => real" \ (Haskell) "Prelude.negate" | constant "sqrt :: real => real" \ (Haskell) "Prelude.sqrt" - | constant Code_Real_Approx_By_Float.real_exp \ + | constant Code_Real_Approx_By_Float.exp_real \ (Haskell) "Prelude.exp" | constant ln \ (Haskell) "Prelude.log" | constant cos \ (Haskell) "Prelude.cos" | constant sin \ (Haskell) "Prelude.sin" | constant tan \ (Haskell) "Prelude.tan" | constant pi \ (Haskell) "Prelude.pi" | constant arctan \ (Haskell) "Prelude.atan" | constant arccos \ (Haskell) "Prelude.acos" | constant arcsin \ (Haskell) "Prelude.asin" -text\The following lemmas have to be removed from the code generator in order to be able to execute @{term "(<)"} and @{term "(\)"}\ -declare real_less_code[code del] -declare real_less_eq_code[code del] - end diff --git a/thys/MDP-Algorithms/code/Code_Real_Approx_By_Float_Fix.thy b/thys/MDP-Algorithms/code/Code_Real_Approx_By_Float_Fix.thy --- a/thys/MDP-Algorithms/code/Code_Real_Approx_By_Float_Fix.thy +++ b/thys/MDP-Algorithms/code/Code_Real_Approx_By_Float_Fix.thy @@ -1,59 +1,59 @@ theory Code_Real_Approx_By_Float_Fix imports "HOL-Library.Code_Real_Approx_By_Float" "Gauss_Jordan.Code_Real_Approx_By_Float_Haskell" begin (*<*) section \Fix for Floating Point Approximation using Haskell\ code_printing type_constructor real \ (Haskell) "Prelude.Double" (*Double precision*) | constant "0 :: real" \ (Haskell) "0.0" | constant "1 :: real" \ (Haskell) "1.0" - | constant "real_of_integer" \ (Haskell) "Prelude.fromIntegral (_)" + | constant "Code_Real_Approx_By_Float.real_of_integer" \ (Haskell) "Prelude.fromIntegral (_)" | class_instance real :: "HOL.equal" => (Haskell) - (*This is necessary. See the tutorial on code generation, page 29*) | constant "HOL.equal :: real \ real \ bool" \ (Haskell) "_ == _" | constant "(<) :: real => real => bool" \ (Haskell) "_ < _" | constant "(\) :: real => real => bool" \ (Haskell) "_ <= _" | constant "(+) :: real \ real \ real" \ (Haskell) "_ + _" | constant "(-) :: real \ real \ real" \ (Haskell) "_ - _" | constant "(*) :: real \ real \ real" \ (Haskell) "_ * _" | constant "(/) :: real \ real \ real" \ (Haskell) "_ '/ _" | constant "uminus :: real => real" \ (Haskell) "Prelude.negate" | constant "sqrt :: real => real" \ (Haskell) "Prelude.sqrt" - | constant Code_Real_Approx_By_Float.real_exp \ + | constant Code_Real_Approx_By_Float.exp_real \ (Haskell) "Prelude.exp" | constant ln \ (Haskell) "Prelude.log" | constant cos \ (Haskell) "Prelude.cos" | constant sin \ (Haskell) "Prelude.sin" | constant tan \ (Haskell) "Prelude.tan" | constant pi \ (Haskell) "Prelude.pi" | constant arctan \ (Haskell) "Prelude.atan" | constant arccos \ (Haskell) "Prelude.acos" | constant arcsin \ (Haskell) "Prelude.asin" code_printing constant Realfract \ (Haskell) "(Prelude.fromIntegral (integer'_of'_int _) '/ Prelude.fromIntegral (integer'_of'_int _))" code_printing constant Realfract \ (SML) "(Real.fromInt (IntInf.toInt (integer'_of'_int _))) '// Real.fromInt (IntInf.toInt (integer'_of'_int _))" (*>*) end \ No newline at end of file