src/FOL/IFOL.thy
changeset 14854 61bdf2ae4dc5
parent 14565 c6dc17aab88a
child 15377 3d99eea28a9b
equal deleted inserted replaced
14853:8d710bece29f 14854:61bdf2ae4dc5
    11 
    11 
    12 subsection {* Syntax and axiomatic basis *}
    12 subsection {* Syntax and axiomatic basis *}
    13 
    13 
    14 global
    14 global
    15 
    15 
    16 classes "term" < logic
    16 classes "term"
    17 defaultsort "term"
    17 defaultsort "term"
    18 
    18 
    19 typedecl o
    19 typedecl o
    20 
    20 
    21 judgment
    21 judgment
   262 subsection {* ``Let'' declarations *}
   262 subsection {* ``Let'' declarations *}
   263 
   263 
   264 nonterminals letbinds letbind
   264 nonterminals letbinds letbind
   265 
   265 
   266 constdefs
   266 constdefs
   267   Let :: "['a::logic, 'a => 'b] => ('b::logic)"
   267   Let :: "['a::{}, 'a => 'b] => ('b::{})"
   268     "Let(s, f) == f(s)"
   268     "Let(s, f) == f(s)"
   269 
   269 
   270 syntax
   270 syntax
   271   "_bind"       :: "[pttrn, 'a] => letbind"           ("(2_ =/ _)" 10)
   271   "_bind"       :: "[pttrn, 'a] => letbind"           ("(2_ =/ _)" 10)
   272   ""            :: "letbind => letbinds"              ("_")
   272   ""            :: "letbind => letbinds"              ("_")