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 |