src/ZF/Constructible/Formula.thy
changeset 13535 007559e981c7
parent 13511 e4b129eaa9c6
child 13634 99a593b49b04
equal deleted inserted replaced
13534:ca6debb89d77 13535:007559e981c7
   161 
   161 
   162 lemma disj_iff_sats:
   162 lemma disj_iff_sats:
   163       "[| P <-> sats(A,p,env); Q <-> sats(A,q,env); env \<in> list(A)|]
   163       "[| P <-> sats(A,p,env); Q <-> sats(A,q,env); env \<in> list(A)|]
   164        ==> (P | Q) <-> sats(A, Or(p,q), env)"
   164        ==> (P | Q) <-> sats(A, Or(p,q), env)"
   165 by (simp add: sats_Or_iff)
   165 by (simp add: sats_Or_iff)
   166 
       
   167 lemma imp_iff_sats:
       
   168       "[| P <-> sats(A,p,env); Q <-> sats(A,q,env); env \<in> list(A)|]
       
   169        ==> (P --> Q) <-> sats(A, Implies(p,q), env)"
       
   170 by (simp add: sats_Forall_iff) 
       
   171 
   166 
   172 lemma iff_iff_sats:
   167 lemma iff_iff_sats:
   173       "[| P <-> sats(A,p,env); Q <-> sats(A,q,env); env \<in> list(A)|]
   168       "[| P <-> sats(A,p,env); Q <-> sats(A,q,env); env \<in> list(A)|]
   174        ==> (P <-> Q) <-> sats(A, Iff(p,q), env)"
   169        ==> (P <-> Q) <-> sats(A, Iff(p,q), env)"
   175 by (simp add: sats_Forall_iff) 
   170 by (simp add: sats_Forall_iff) 
   817     "[| a: Lset(i);  b: Lset(i); Ord(i) |] ==> <a,b> : Lset(succ(succ(i)))"
   812     "[| a: Lset(i);  b: Lset(i); Ord(i) |] ==> <a,b> : Lset(succ(succ(i)))"
   818 apply (unfold Pair_def)
   813 apply (unfold Pair_def)
   819 apply (blast intro: doubleton_in_Lset) 
   814 apply (blast intro: doubleton_in_Lset) 
   820 done
   815 done
   821 
   816 
   822 lemmas zero_in_LLimit = Limit_has_0 [THEN ltD, THEN zero_in_Lset, standard]
       
   823 
       
   824 lemma singleton_in_LLimit:
   817 lemma singleton_in_LLimit:
   825     "[| a: Lset(i);  Limit(i) |] ==> {a} : Lset(i)"
   818     "[| a: Lset(i);  Limit(i) |] ==> {a} : Lset(i)"
   826 apply (erule Limit_LsetE, assumption)
   819 apply (erule Limit_LsetE, assumption)
   827 apply (erule singleton_in_Lset [THEN lt_LsetI])
   820 apply (erule singleton_in_Lset [THEN lt_LsetI])
   828 apply (blast intro: Limit_has_succ) 
   821 apply (blast intro: Limit_has_succ) 
   972 apply (rule subset_trans [OF DPow_subset_Pow]) 
   965 apply (rule subset_trans [OF DPow_subset_Pow]) 
   973 apply (rule Pow_mono, blast) 
   966 apply (rule Pow_mono, blast) 
   974 done
   967 done
   975 
   968 
   976 text{*Kunen's VI, 1.12 *}
   969 text{*Kunen's VI, 1.12 *}
   977 lemma Lset_subset_Vset: "i \<in> nat ==> Lset(i) = Vset(i)";
   970 lemma Lset_subset_Vset': "i \<in> nat ==> Lset(i) = Vset(i)";
   978 apply (erule nat_induct)
   971 apply (erule nat_induct)
   979  apply (simp add: Vfrom_0) 
   972  apply (simp add: Vfrom_0) 
   980 apply (simp add: Lset_succ Vset_succ Finite_Vset Finite_DPow_eq_Pow) 
   973 apply (simp add: Lset_succ Vset_succ Finite_Vset Finite_DPow_eq_Pow) 
   981 done
   974 done
   982 
   975