(* Refactorize Formula and Relative to include the following three lemmas *) lemmas basic_fm_simps = sats_subset_fm' sats_transset_fm' sats_ordinal_fm'
(* Better to have this in M_basic or similar *) lemma (in M_ctm) unique_least: "a∈M ==> b∈M ==> least(##M,Q,a) ==> least(##M,Q,b) ==> a=b" unfolding least_def by (auto, erule_tac i=a and j=b in Ord_linear_lt; (drule ltD | simp); auto intro:Ord_in_Ord)
context M_trivial begin
subsection‹Absoluteness and closure under term‹Least››
lemma least_abs: assumes"∧x. Q(x) ==> M(x)""M(a)" shows"least(M,Q,a) ⟷ a = (μ x. Q(x))" unfolding least_def proof (cases "∀b[M]. Ord(b) ⟶¬ Q(b)"; intro iffI; simp add:assms) case True with‹∧x. Q(x) ==> M(x)› have"¬ (∃i. Ord(i) ∧ Q(i)) "by blast then show"0 =(μ x. Q(x))"using Least_0 by simp then show"ordinal(M, μ x. Q(x)) ∧ (empty(M, Least(Q)) ∨ Q(Least(Q)))" by simp next assume"∃b[M]. Ord(b) ∧ Q(b)" then obtain i where"M(i)""Ord(i)""Q(i)"by blast assume"a = (μ x. Q(x))" moreover note‹M(a)› moreoverfrom‹Q(i)›‹Ord(i)› have"Q(μ x. Q(x))" (is ?G) by (blast intro:LeastI) moreover have"(∀b[M]. Ord(b) ∧ b ∈ (μ x. Q(x)) ⟶¬ Q(b))" (is"?H") using less_LeastE[of Q _ False] by (auto, drule_tac ltI, simp, blast) ultimately show"ordinal(M, μ x. Q(x)) ∧ (empty(M, μ x. Q(x)) ∧ (∀b[M]. Ord(b) ⟶¬ Q(b)) ∨ ?G ∧ ?H)" by simp next assume1:"∃b[M]. Ord(b) ∧ Q(b)" then obtain i where"M(i)""Ord(i)""Q(i)"by blast assume"Ord(a) ∧ (a = 0 ∧ (∀b[M]. Ord(b) ⟶¬ Q(b)) ∨ Q(a) ∧ (∀b[M]. Ord(b) ∧ b ∈a ⟶¬ Q(b)))" with1 have"Ord(a)""Q(a)""∀b[M]. Ord(b) ∧ b ∈ a ⟶¬ Q(b)" by blast+ moreoverfrom this and‹∧x. Q(x) ==> M(x)› have"Ord(b) ==> b ∈ a ==>¬ Q(b)"for b by blast moreoverfrom this and‹Ord(a)› have"b < a ==>¬ Q(b)"for b unfolding lt_def using Ord_in_Ord by blast ultimately show"a = (μ x. Q(x))" using Least_equality by simp qed
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.