Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  TAO_6_Identifiable.thy

  Sprache: Isabelle
 

(*<*)
theory TAO_6_Identifiable
imports TAO_5_MetaSolver
begin
(*>*)

sectionGeneral Identity
text\label{TAO_Identifiable}

text
 begin{remark}
 In order to define a general identity symbol that can act
 on all types of terms a type class is introduced
 which assumes the substitution property which
 is needed to derive the corresponding axiom.
 This type class is instantiated for all relation types, individual terms
 and individuals.
 end{remark}
 


subsectionType Classes
text\label{TAO_Identifiable_Class}

class identifiable =
fixes identity :: "'a==>'a==>o" (infixl = 63)
assumes l_identity:
  "w x = y ==> w φ x ==> w φ y"
begin
  abbreviation notequal (infixl \ 63where
    "notequal λ x y . \<not>(x = y)"
end

class quantifiable_and_identifiable = quantifiable + identifiable
begin
  definition exists_unique::"('a==>o)==>o" (binder \! [89where
    "exists_unique λ φ . \<exists> α . φ α & (\<forall>β. φ β \<rightarrow> β = α)"
  
  declare exists_unique_def[conn_defs]
end

subsectionInstantiations
text\label{TAO_Identifiable_Instantiation}

instantiation κ :: identifiable
begin
  definition identity_κ where "identity_κ basic_identity\<kappa>"
  instance proof
    fix x y :: κ and w φ
    show "[x = y in w] ==> [φ x in w] ==> [φ y in w]"
      unfolding identity_κ_def
      using MetaSolver.Eqκ_prop ..
  qed
end

instantiation ν :: identifiable
begin
  definition identity_ν where "identity_ν λ x y . xP = yP"
  instance proof
    fix α :: ν and β :: ν and v φ
    assume "v α = β"
    hence "v αP = βP"
      unfolding identity_ν_def by auto
    hence "φ.(v φ (αP)) ==> (v φ (βP))"
      using l_identity by auto
    hence "(v φ (rep (αP))) ==> (v φ (rep (βP)))"
      by meson
    thus "(v φ α) ==> (v φ β)"
      by (simp only: rep_proper_id)
  qed
end

instantiation Π1 :: identifiable
begin
  definition identity_Π1 where "identity_Π1 basic_identity1"
  instance proof
    fix F G :: Π1 and w φ
    show "(w F = G) ==> (w φ F) ==> (w φ G)"
      unfolding identity_Π1_def using MetaSolver.Eq1_prop ..
  qed
end

instantiation Π2 :: identifiable
begin
  definition identity_Π2 where "identity_Π2 basic_identity2"
  instance proof
    fix F G :: Π2 and w φ
    show "(w F = G) ==> (w φ F) ==> (w φ G)"
      unfolding identity_Π2_def using MetaSolver.Eq2_prop ..
  qed
end

instantiation Π3 :: identifiable
begin
  definition identity_Π3 where "identity_Π3 basic_identity3"
  instance proof
    fix F G :: Π3 and w φ
    show "(w F = G) ==> (w φ F) ==> (w φ G)"
      unfolding identity_Π3_def using MetaSolver.Eq3_prop ..
  qed
end

instantiation o :: identifiable
begin
  definition identity_o where "identity_o basic_identity0"
  instance proof
    fix F G :: o and w φ
    show "(w F = G) ==> (w φ F) ==> (w φ G)"
      unfolding identity_o_def using MetaSolver.Eq0_prop ..
  qed
end

instance ν :: quantifiable_and_identifiable ..
instance Π1 :: quantifiable_and_identifiable ..
instance Π2 :: quantifiable_and_identifiable ..
instance Π3 :: quantifiable_and_identifiable ..
instance o :: quantifiable_and_identifiable ..

subsectionNew Identity Definitions
text\label{TAO_Identifiable_Definitions}

text
 begin{remark}
 The basic definitions of identity use type specific quantifiers
 and identity symbols. Equivalent definitions that
 use the general identity symbol and general quantifiers are provided.
 end{remark}
 


named_theorems identity_defs
lemma identityE_def[identity_defs]:
  "basic_identityE \<lambda>2 (λx y. (O!,xP) & (O!,yP) & \<box>(\<forall>F. (F,xP) \<equiv> (F,yP)))"
  unfolding basic_identityE_def forall_Π1_def by simp
lemma identityE_infix_def[identity_defs]:
  "x =E y (basic_identityE,x,y)" using basic_identityE_infix_def .
lemma identity\<kappa>_def[identity_defs]:
  "(=) λx y. x =E y \<or> (A!,x) & (A!,y) & \<box>(\<forall> F. {x,F} \<equiv> {y,F})"
  unfolding identity_κ_def basic_identity\<kappa>_def forall_Π1_def by simp
lemma identity\<nu>_def[identity_defs]:
  "(=) λx y. (xP) =E (yP) \<or> (A!,xP) & (A!,yP) & \<box>(\<forall> F. {xP,F} \<equiv> {yP,F})"
  unfolding identity_ν_def identity\<kappa>_def by simp
lemma identity1_def[identity_defs]:
  "(=) λF G. \<box>(\<forall> x . {xP,F} \<equiv> {xP,G})"
  unfolding identity_Π1_def basic_identity1_def forall_ν_def by simp
lemma identity2_def[identity_defs]:
  "(=) λF G. \<forall> x. (\<lambda>y. (F,xP,yP)) = (\<lambda>y. (G,xP,yP))
                    & (\<lambda>y. (F,yP,xP)) = (\<lambda>y. (G,yP,xP))"
  unfolding identity_Π2_def identity_Π1_def basic_identity2_def forall_ν_def by simp
lemma identity3_def[identity_defs]:
  "(=) λF G. \<forall> x y. (\<lambda>z. (F,zP,xP,yP)) = (\<lambda>z. (G,zP,xP,yP))
                      & (\<lambda>z. (F,xP,zP,yP)) = (\<lambda>z. (G,xP,zP,yP))
                      & (\<lambda>z. (F,xP,yP,zP)) = (\<lambda>z. (G,xP,yP,zP))"
  unfolding identity_Π3_def identity_Π1_def basic_identity3_def forall_ν_def by simp
lemma identity\<o>_def[identity_defs]: "(=) λF G. (\<lambda>y. F) = (\<lambda>y. G)"
  unfolding identity_o_def identity_Π1_def basic_identity0_def by simp

(*<*)
end
(*>*)

Messung V0.5 in Prozent
C=92 H=99 G=95

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-06-10) ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge