Tutorial/Minimal.thy
changeset 2686 52e1e98edb34
parent 2681 0e4c5fa26fa1
child 3132 87eca760dcba
equal deleted inserted replaced
2685:1df873b63cb2 2686:52e1e98edb34
     7 nominal_datatype lam =
     7 nominal_datatype lam =
     8   Var "name"
     8   Var "name"
     9 | App "lam" "lam"
     9 | App "lam" "lam"
    10 | Lam x::"name" l::"lam"  bind x in l ("Lam [_]. _" [100, 100] 100)
    10 | Lam x::"name" l::"lam"  bind x in l ("Lam [_]. _" [100, 100] 100)
    11 
    11 
       
    12 
       
    13 
    12 lemma alpha_test:
    14 lemma alpha_test:
    13   shows "Lam [x]. (Var x) = Lam [y]. (Var y)"
    15   shows "Lam [x]. (Var x) = Lam [y]. (Var y)"
    14   by (simp add: lam.eq_iff Abs1_eq_iff lam.fresh fresh_at_base)
    16   by (simp add: lam.eq_iff Abs1_eq_iff lam.fresh fresh_at_base)
    15 
    17 
    16 end
    18 end