Nominal/Test.thy
changeset 1439 bdd73f8bb63b
parent 1436 04dad9b0136d
child 1441 14b850159df1
child 1449 b66d754bf1c2
equal deleted inserted replaced
1438:61671de8a545 1439:bdd73f8bb63b
    26 ML {* Sign.of_sort @{theory} (@{typ lam}, @{sort fs}) *}
    26 ML {* Sign.of_sort @{theory} (@{typ lam}, @{sort fs}) *}
    27 
    27 
    28 term "supp (x :: lam)"
    28 term "supp (x :: lam)"
    29 lemmas lam_bp_inducts = lam_raw_bp_raw.inducts[quot_lifted]
    29 lemmas lam_bp_inducts = lam_raw_bp_raw.inducts[quot_lifted]
    30 
    30 
       
    31 (* maybe should be added to Infinite.thy *)
    31 lemma infinite_Un:
    32 lemma infinite_Un:
    32   shows "infinite (S \<union> T) \<longleftrightarrow> infinite S \<or> infinite T"
    33   shows "infinite (S \<union> T) \<longleftrightarrow> infinite S \<or> infinite T"
    33 apply(auto)
    34   by simp
    34 done
       
    35 
    35 
    36 lemma bi_eqvt:
    36 lemma bi_eqvt:
    37   shows "(p \<bullet> (bi b)) = bi (p \<bullet> b)"
    37   shows "(p \<bullet> (bi b)) = bi (p \<bullet> b)"
    38 sorry
    38 apply(induct b rule: lam_bp_inducts(2))
       
    39 apply(simp)
       
    40 apply(simp)
       
    41 apply(simp)
       
    42 apply(simp add: lam_bp_bn lam_bp_perm)
       
    43 apply(simp add: eqvts)
       
    44 done
    39 
    45 
    40 lemma supp_fv:
    46 lemma supp_fv:
    41   "supp t = fv_lam t" and 
    47   "supp t = fv_lam t" and 
    42   "supp b = fv_bp b"
    48   "supp b = fv_bp b"
    43 apply(induct t and b rule: lam_bp_inducts)
    49 apply(induct t and b rule: lam_bp_inducts)