src/HOL/Predicate_Compile_Examples/Code_Prolog_Examples.thy
changeset 38727 c7f5f0b7dc7f
parent 38117 5ae05823cfd9
child 38728 182b180e9804
equal deleted inserted replaced
38718:c7cbbb18eabe 38727:c7f5f0b7dc7f
   171 values "{e. ops8 e}"
   171 values "{e. ops8 e}"
   172 values "{e. divide10 e}"
   172 values "{e. divide10 e}"
   173 values "{e. log10 e}"
   173 values "{e. log10 e}"
   174 values "{e. times10 e}"
   174 values "{e. times10 e}"
   175 
   175 
       
   176 section {* Example negation *}
       
   177 
       
   178 datatype abc = A | B | C
       
   179 
       
   180 inductive notB :: "abc => bool"
       
   181 where
       
   182   "y \<noteq> B \<Longrightarrow> notB y"
       
   183 
       
   184 code_pred notB .
       
   185 
       
   186 ML {* Code_Prolog.options := {ensure_groundness = true} *}
       
   187 
       
   188 values 2 "{y. notB y}"
       
   189 
   176 end
   190 end