src/HOL/Nominal/Examples/Height.thy
changeset 22829 f1db55c7534d
parent 22418 49e2d9744ae1
child 23315 df3a7e9ebadb
equal deleted inserted replaced
22828:2064f0fd20c9 22829:f1db55c7534d
     6 imports "../Nominal"
     6 imports "../Nominal"
     7 begin
     7 begin
     8 
     8 
     9 atom_decl name
     9 atom_decl name
    10 
    10 
    11 nominal_datatype lam = Var "name"
    11 nominal_datatype lam = 
    12                      | App "lam" "lam"
    12     Var "name"
    13                      | Lam "\<guillemotleft>name\<guillemotright>lam" ("Lam [_]._" [100,100] 100)
    13   | App "lam" "lam"
       
    14   | Lam "\<guillemotleft>name\<guillemotright>lam" ("Lam [_]._" [100,100] 100)
    14 
    15 
    15 text {* definition of the height-function on lambda-terms *} 
    16 text {* definition of the height-function on lambda-terms *} 
    16 
    17 
    17 consts 
    18 consts 
    18   height :: "lam \<Rightarrow> int"
    19   height :: "lam \<Rightarrow> int"