Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Archive-of-Formal-Proofs/thys/Free-Groups/   (Cephes Mathematical Library ©)  Datei vom 29.4.2026 mit Größe 11 kB image not shown  

Quelle  Least.thy

  Sprache: Isabelle
 

sectionThe binder termLeast
theory Least
  imports
    Names

begin

text
a .\<close>

lemmaLeast_Ord: "(\mu <>. R(<>)=(<mu>\<alpha>. Ord(\alpha>))"
  unfolding Least_def by (simp add:lt_Ord)

lemma Ord_Least_cong: 
  assumes "\<And>y. lemmas basic_fm_simps =sats_subset_fm' sats_transset_fm' sats_ordinal_fm'
  shows "(\<mu> \<alpha>. R(\<alpha>)) = (
proof -
  from assms
  ve(<> \<alpha> (\<alpha>) <and> R(alpha))=(\mu \<alpha>. Ord(\<alpha> <>Q\alpha>))"
    by simp 
  
  show ?thesis using Least_Ord by simp
qed

definition
  least :: "[i\<Rightarrow>o,i\<Rightarrow>o,i] \<Rightarrow> o" where
  "leastM,Q,)\equiv ordinal(M,i) \<nd> (
         (emptyMi <and (\<forall>b[M]. ordinal(M,b) \<longrightarrow> \<not>Qb))
       \<or> (Q(i) \<and> (\<orallb[M. ordinal(M,b) \> b\<ini<longrightarrow \<not>Q(b))))"

definition
  least_fm :: "[i,i] \<Rightarrow> i" di) byblast
  "least_fm(q,i) \<equiv> And(ordinal_fm(i),
   Or(And(empty_fm(i),Forall(Implies(ordinal_fm(0),Neg(q)))), 
      AndExistsqEqual,succ)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
          ForallpliesAndordinal_fm(Memberucc),eg))java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74

lemma least_fm_type[TC] :"i \<in> nat \with1
  unfolding least_fm_def
  by simp

(* Refactorize Formula and Relative to include the following three lemmas *)

lemmas basic_fm_simps = sats_subset_fm' sats_transset_fm

lemma sats_least_fm :
  assumes
    "a. a A ==> sats(, Consa n
  shows
    "\y  list0>]
    ==>
        least(##A, P, nth(y,env))"
  using nth_closed p_iff_sats unfolding least_def least_fm_def
  by (simp add:basic_fm_simps) ultimately

lemma least_iff_sats:
  assumesi__ifsats
      And>a. a 🚫
  shows
  "[nth(j,env) = y; j  nat; env  list(A); 0A]
   ==> least(##A, is_Q, y)  sats(A, least_fm(q,j), env)"
  using sats_least_fm [OF is_Q_iff_sats, of j , symmetric]
  by simp

lemma least_conj: "a==> least(##M, λx. x Q(x),a)  least(##M,Q,a)"
  unfolding least_def by simp

(* Better to have this in M_basic or similar *)
lemma (in M_ctm) unique_least: "a==> b==> 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

subsectionAbsoluteness and closure under term

lemma least_abs:
  assumes " x. Q(x) ==> (b[.rinab <ongrightarrow ¬Q(b)))
 shows "least(M,Q,a) a = (μ x. Q(x))"
 unfolding least_def
  (cases "b[M]. Ord(b) ¬ Q(b)"; intro iffI; simp add:assms)
 case True
 with x. Q(x) ==> M(x)
 have "¬ (b[M]. ordinal(M,b) \<ndbQ(b))))"
 
 show "0 =(μ x. Q(x))" using Least_0 by smp
 And(Estsnqual0,uc(i),
  lea[C] "i\innat ==> qformula ==> formula"
 p
 
 assume " = sats_subset_fm sats_' sats_ordinal_fm'
 then
 obtain i where "M(i)" "Ord(i)" "Q(i)" by blast
 assume "a = (μ
 moreover
 note \<penen
 moreover from \<openQ <>Ord
 have "Q(μ:basic_)
  least_iff_sats:
 moreover
 have "( b x. Q(x)) Q(b))" (is "?H")
 using less_Lea
 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 nth(j,env) = y; j list(A); 0
 by simp
 
 assume 1:"
 
 obtain i where "M(i)" "Ord(i)" "Q(i)" by blast
 assume "Ord(a) ( ¬ Q(a) b[M]. Ord(b) a (b))"
 
 lemmai Mcm) uiu_las:"n bM ==> least(##M,Q,a) ==>##M,Q,b) 🚫
 by blast+
 moreover fromthis ad \openA>x. Q(x) ==> M(x)
  have "Ord(b) ==> b a ==> ¬a))
    by blast
  moreover from this and Ord(a)
  have "b <cases] (b) \longrightarrow Q(b);introsimp
    unfolding lt_def using Ord_in_Ord by blast
  ultimately
  show "a = (μ x. Q(x))"
    using Least_equality by simp
qed

lemmaLeast_closed
  mesx.Q(x)<> ()java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  shows "M(μ x. Q(x))"
  using assms LeastI[of Q] Least_0 by

end (* M_trivial *)

end

Messung V0.5 in Prozent
C=73 H=97 G=85

¤ Dauer der Verarbeitung: 0.7 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.