src/ZF/Constructible/L_axioms.thy
changeset 13564 1500a2e48d44
parent 13563 7d6c9817c432
child 13566 52a419210d5c
equal deleted inserted replaced
13563:7d6c9817c432 13564:1500a2e48d44
     6 
     6 
     7 header {* The ZF Axioms (Except Separation) in L *}
     7 header {* The ZF Axioms (Except Separation) in L *}
     8 
     8 
     9 theory L_axioms = Formula + Relative + Reflection + MetaExists:
     9 theory L_axioms = Formula + Relative + Reflection + MetaExists:
    10 
    10 
    11 text {* The class L satisfies the premises of locale @{text M_triv_axioms} *}
    11 text {* The class L satisfies the premises of locale @{text M_trivial} *}
    12 
    12 
    13 lemma transL: "[| y\<in>x; L(x) |] ==> L(y)"
    13 lemma transL: "[| y\<in>x; L(x) |] ==> L(y)"
    14 apply (insert Transset_Lset)
    14 apply (insert Transset_Lset)
    15 apply (simp add: Transset_def L_def, blast)
    15 apply (simp add: Transset_def L_def, blast)
    16 done
    16 done
    78 apply (frule LReplace_in_L, assumption+, clarify)
    78 apply (frule LReplace_in_L, assumption+, clarify)
    79 apply (rule_tac x=Y in rexI)
    79 apply (rule_tac x=Y in rexI)
    80 apply (simp_all add: Replace_iff univalent_def, blast)
    80 apply (simp_all add: Replace_iff univalent_def, blast)
    81 done
    81 done
    82 
    82 
    83 subsection{*Instantiating the locale @{text M_triv_axioms}*}
    83 subsection{*Instantiating the locale @{text M_trivial}*}
    84 text{*No instances of Separation yet.*}
    84 text{*No instances of Separation yet.*}
    85 
    85 
    86 lemma Lset_mono_le: "mono_le_subset(Lset)"
    86 lemma Lset_mono_le: "mono_le_subset(Lset)"
    87 by (simp add: mono_le_subset_def le_imp_subset Lset_mono)
    87 by (simp add: mono_le_subset_def le_imp_subset Lset_mono)
    88 
    88 
    91 
    91 
    92 lemmas Pair_in_Lset = Formula.Pair_in_LLimit
    92 lemmas Pair_in_Lset = Formula.Pair_in_LLimit
    93 
    93 
    94 lemmas L_nat = Ord_in_L [OF Ord_nat]
    94 lemmas L_nat = Ord_in_L [OF Ord_nat]
    95 
    95 
    96 theorem M_triv_axioms_L: "PROP M_triv_axioms(L)"
    96 theorem M_trivial_L: "PROP M_trivial(L)"
    97   apply (rule M_triv_axioms.intro)
    97   apply (rule M_trivial.intro)
    98         apply (erule (1) transL)
    98         apply (erule (1) transL)
    99        apply (rule nonempty)
    99        apply (rule nonempty)
   100       apply (rule upair_ax)
   100       apply (rule upair_ax)
   101      apply (rule Union_ax)
   101      apply (rule Union_ax)
   102     apply (rule power_ax)
   102     apply (rule power_ax)
   103    apply (rule replacement)
   103    apply (rule replacement)
   104   apply (rule L_nat)
   104   apply (rule L_nat)
   105   done
   105   done
   106 
   106 
   107 lemmas rall_abs = M_triv_axioms.rall_abs [OF M_triv_axioms_L]
   107 lemmas rall_abs = M_trivial.rall_abs [OF M_trivial_L]
   108   and rex_abs = M_triv_axioms.rex_abs [OF M_triv_axioms_L]
   108   and rex_abs = M_trivial.rex_abs [OF M_trivial_L]
   109   and ball_iff_equiv = M_triv_axioms.ball_iff_equiv [OF M_triv_axioms_L]
   109   and ball_iff_equiv = M_trivial.ball_iff_equiv [OF M_trivial_L]
   110   and M_equalityI = M_triv_axioms.M_equalityI [OF M_triv_axioms_L]
   110   and M_equalityI = M_trivial.M_equalityI [OF M_trivial_L]
   111   and empty_abs = M_triv_axioms.empty_abs [OF M_triv_axioms_L]
   111   and empty_abs = M_trivial.empty_abs [OF M_trivial_L]
   112   and subset_abs = M_triv_axioms.subset_abs [OF M_triv_axioms_L]
   112   and subset_abs = M_trivial.subset_abs [OF M_trivial_L]
   113   and upair_abs = M_triv_axioms.upair_abs [OF M_triv_axioms_L]
   113   and upair_abs = M_trivial.upair_abs [OF M_trivial_L]
   114   and upair_in_M_iff = M_triv_axioms.upair_in_M_iff [OF M_triv_axioms_L]
   114   and upair_in_M_iff = M_trivial.upair_in_M_iff [OF M_trivial_L]
   115   and singleton_in_M_iff = M_triv_axioms.singleton_in_M_iff [OF M_triv_axioms_L]
   115   and singleton_in_M_iff = M_trivial.singleton_in_M_iff [OF M_trivial_L]
   116   and pair_abs = M_triv_axioms.pair_abs [OF M_triv_axioms_L]
   116   and pair_abs = M_trivial.pair_abs [OF M_trivial_L]
   117   and pair_in_M_iff = M_triv_axioms.pair_in_M_iff [OF M_triv_axioms_L]
   117   and pair_in_M_iff = M_trivial.pair_in_M_iff [OF M_trivial_L]
   118   and pair_components_in_M = M_triv_axioms.pair_components_in_M [OF M_triv_axioms_L]
   118   and pair_components_in_M = M_trivial.pair_components_in_M [OF M_trivial_L]
   119   and cartprod_abs = M_triv_axioms.cartprod_abs [OF M_triv_axioms_L]
   119   and cartprod_abs = M_trivial.cartprod_abs [OF M_trivial_L]
   120   and union_abs = M_triv_axioms.union_abs [OF M_triv_axioms_L]
   120   and union_abs = M_trivial.union_abs [OF M_trivial_L]
   121   and inter_abs = M_triv_axioms.inter_abs [OF M_triv_axioms_L]
   121   and inter_abs = M_trivial.inter_abs [OF M_trivial_L]
   122   and setdiff_abs = M_triv_axioms.setdiff_abs [OF M_triv_axioms_L]
   122   and setdiff_abs = M_trivial.setdiff_abs [OF M_trivial_L]
   123   and Union_abs = M_triv_axioms.Union_abs [OF M_triv_axioms_L]
   123   and Union_abs = M_trivial.Union_abs [OF M_trivial_L]
   124   and Union_closed = M_triv_axioms.Union_closed [OF M_triv_axioms_L]
   124   and Union_closed = M_trivial.Union_closed [OF M_trivial_L]
   125   and Un_closed = M_triv_axioms.Un_closed [OF M_triv_axioms_L]
   125   and Un_closed = M_trivial.Un_closed [OF M_trivial_L]
   126   and cons_closed = M_triv_axioms.cons_closed [OF M_triv_axioms_L]
   126   and cons_closed = M_trivial.cons_closed [OF M_trivial_L]
   127   and successor_abs = M_triv_axioms.successor_abs [OF M_triv_axioms_L]
   127   and successor_abs = M_trivial.successor_abs [OF M_trivial_L]
   128   and succ_in_M_iff = M_triv_axioms.succ_in_M_iff [OF M_triv_axioms_L]
   128   and succ_in_M_iff = M_trivial.succ_in_M_iff [OF M_trivial_L]
   129   and separation_closed = M_triv_axioms.separation_closed [OF M_triv_axioms_L]
   129   and separation_closed = M_trivial.separation_closed [OF M_trivial_L]
   130   and strong_replacementI = M_triv_axioms.strong_replacementI [OF M_triv_axioms_L]
   130   and strong_replacementI = M_trivial.strong_replacementI [OF M_trivial_L]
   131   and strong_replacement_closed = M_triv_axioms.strong_replacement_closed [OF M_triv_axioms_L]
   131   and strong_replacement_closed = M_trivial.strong_replacement_closed [OF M_trivial_L]
   132   and RepFun_closed = M_triv_axioms.RepFun_closed [OF M_triv_axioms_L]
   132   and RepFun_closed = M_trivial.RepFun_closed [OF M_trivial_L]
   133   and lam_closed = M_triv_axioms.lam_closed [OF M_triv_axioms_L]
   133   and lam_closed = M_trivial.lam_closed [OF M_trivial_L]
   134   and image_abs = M_triv_axioms.image_abs [OF M_triv_axioms_L]
   134   and image_abs = M_trivial.image_abs [OF M_trivial_L]
   135   and powerset_Pow = M_triv_axioms.powerset_Pow [OF M_triv_axioms_L]
   135   and powerset_Pow = M_trivial.powerset_Pow [OF M_trivial_L]
   136   and powerset_imp_subset_Pow = M_triv_axioms.powerset_imp_subset_Pow [OF M_triv_axioms_L]
   136   and powerset_imp_subset_Pow = M_trivial.powerset_imp_subset_Pow [OF M_trivial_L]
   137   and nat_into_M = M_triv_axioms.nat_into_M [OF M_triv_axioms_L]
   137   and nat_into_M = M_trivial.nat_into_M [OF M_trivial_L]
   138   and nat_case_closed = M_triv_axioms.nat_case_closed [OF M_triv_axioms_L]
   138   and nat_case_closed = M_trivial.nat_case_closed [OF M_trivial_L]
   139   and Inl_in_M_iff = M_triv_axioms.Inl_in_M_iff [OF M_triv_axioms_L]
   139   and Inl_in_M_iff = M_trivial.Inl_in_M_iff [OF M_trivial_L]
   140   and Inr_in_M_iff = M_triv_axioms.Inr_in_M_iff [OF M_triv_axioms_L]
   140   and Inr_in_M_iff = M_trivial.Inr_in_M_iff [OF M_trivial_L]
   141   and lt_closed = M_triv_axioms.lt_closed [OF M_triv_axioms_L]
   141   and lt_closed = M_trivial.lt_closed [OF M_trivial_L]
   142   and transitive_set_abs = M_triv_axioms.transitive_set_abs [OF M_triv_axioms_L]
   142   and transitive_set_abs = M_trivial.transitive_set_abs [OF M_trivial_L]
   143   and ordinal_abs = M_triv_axioms.ordinal_abs [OF M_triv_axioms_L]
   143   and ordinal_abs = M_trivial.ordinal_abs [OF M_trivial_L]
   144   and limit_ordinal_abs = M_triv_axioms.limit_ordinal_abs [OF M_triv_axioms_L]
   144   and limit_ordinal_abs = M_trivial.limit_ordinal_abs [OF M_trivial_L]
   145   and successor_ordinal_abs = M_triv_axioms.successor_ordinal_abs [OF M_triv_axioms_L]
   145   and successor_ordinal_abs = M_trivial.successor_ordinal_abs [OF M_trivial_L]
   146   and finite_ordinal_abs = M_triv_axioms.finite_ordinal_abs [OF M_triv_axioms_L]
   146   and finite_ordinal_abs = M_trivial.finite_ordinal_abs [OF M_trivial_L]
   147   and omega_abs = M_triv_axioms.omega_abs [OF M_triv_axioms_L]
   147   and omega_abs = M_trivial.omega_abs [OF M_trivial_L]
   148   and number1_abs = M_triv_axioms.number1_abs [OF M_triv_axioms_L]
   148   and number1_abs = M_trivial.number1_abs [OF M_trivial_L]
   149   and number2_abs = M_triv_axioms.number2_abs [OF M_triv_axioms_L]
   149   and number2_abs = M_trivial.number2_abs [OF M_trivial_L]
   150   and number3_abs = M_triv_axioms.number3_abs [OF M_triv_axioms_L]
   150   and number3_abs = M_trivial.number3_abs [OF M_trivial_L]
   151 
   151 
   152 declare rall_abs [simp]
   152 declare rall_abs [simp]
   153 declare rex_abs [simp]
   153 declare rex_abs [simp]
   154 declare empty_abs [simp]
   154 declare empty_abs [simp]
   155 declare subset_abs [simp]
   155 declare subset_abs [simp]