Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  Intuitionistic.thy   Sprache: Isabelle

 

(*  Title:      FOLP/ex/Intuitionistic.thy
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1991  University of Cambridge

Intuitionistic First-Order Logic.

Single-step commands:
by (IntPr.step_tac 1)
by (biresolve_tac safe_brls 1);
by (biresolve_tac haz_brls 1);
by (assume_tac 1);
by (IntPr.safe_tac 1);
by (IntPr.mp_tac 1);
by (IntPr.fast_tac 1);
*)


(*Note: for PROPOSITIONAL formulae...
  ~A is classically provable iff it is intuitionistically provable.  
  Therefore A is classically provable iff ~~A is intuitionistically provable.

Let Q be the conjuction of the propositions A|~A, one for each atom A in
P.  If P is provable classically, then clearly P&Q is provable
intuitionistically, so ~~(P&Q) is also provable intuitionistically.
The latter is intuitionistically equivalent to ~~P&~~Q, hence to ~~P,
since ~~Q is intuitionistically provable.  Finally, if P is a negation then
~~P is intuitionstically equivalent to P.  [Andy Pitts]
*)


theory Intuitionistic
imports IFOLP
begin

schematic_goal "?p : ~~(P&Q) <-> ~~P & ~~Q"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ~~~P <-> ~P"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ~~((P --> Q | R) --> (P-->Q) | (P-->R))"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : (P<->Q) <-> (Q<->P)"
  by (tactic ‹IntPr.fast_tac context 1›)


subsection ‹Lemmas for the propositional double-negation translation›

schematic_goal "?p : P --> ~~P"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ~~(~~P --> P)"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ~~P & ~~(P --> Q) --> ~~Q"
  by (tactic ‹IntPr.fast_tac context 1›)


subsection ‹The following are classically but not constructively valid›

(*The attempt to prove them terminates quickly!*)
schematic_goal "?p : ((P-->Q) --> P) --> P"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops

schematic_goal "?p : (P&Q-->R) --> (P-->R) | (Q-->R)"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops


subsection ‹Intuitionistic FOL: propositional problems based on Pelletier›

text "Problem ~~1"
schematic_goal "?p : ~~((P-->Q) <-> (~Q --> ~P))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~2"
schematic_goal "?p : ~~(~~P <-> P)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem 3"
schematic_goal "?p : ~(P-->Q) --> (Q-->P)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~4"
schematic_goal "?p : ~~((~P-->Q) <-> (~Q --> P))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~5"
schematic_goal "?p : ~~((P|Q-->P|R) --> P|(Q-->R))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~6"
schematic_goal "?p : ~~(P | ~P)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~7"
schematic_goal "?p : ~~(P | ~~~P)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~8. Peirce's law"
schematic_goal "?p : ~~(((P-->Q) --> P) --> P)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem 9"
schematic_goal "?p : ((P|Q) & (~P|Q) & (P| ~Q)) --> ~ (~P | ~Q)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem 10"
schematic_goal "?p : (Q-->R) --> (R-->P&Q) --> (P-->(Q|R)) --> (P<->Q)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "11. Proved in each direction (incorrectly, says Pelletier!!) "
schematic_goal "?p : P<->P"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~12. Dijkstra's law "
schematic_goal "?p : ~~(((P <-> Q) <-> R) <-> (P <-> (Q <-> R)))"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ((P <-> Q) <-> R) --> ~~(P <-> (Q <-> R))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem 13. Distributive law"
schematic_goal "?p : P | (Q & R) <-> (P | Q) & (P | R)"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~14"
schematic_goal "?p : ~~((P <-> Q) <-> ((Q | ~P) & (~Q|P)))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~15"
schematic_goal "?p : ~~((P --> Q) <-> (~P | Q))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~16"
schematic_goal "?p : ~~((P-->Q) | (Q-->P))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~17"
schematic_goal "?p : ~~(((P & (Q-->R))-->S) <-> ((~P | Q | S) & (~P | ~R | S)))"
  by (tactic ‹IntPr.fast_tac context 1›)  ― ‹slow›


subsection ‹Examples with quantifiers›

text "The converse is classical in the following implications..."

schematic_goal "?p : (EX x. P(x)-->Q) --> (ALL x. P(x)) --> Q"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ((ALL x. P(x))-->Q) --> ~ (ALL x. P(x) & ~Q)"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : ((ALL x. ~P(x))-->Q) --> ~ (ALL x. ~ (P(x)|Q))"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : (ALL x. P(x)) | Q --> (ALL x. P(x) | Q)"
  by (tactic ‹IntPr.fast_tac context 1›)

schematic_goal "?p : (EX x. P --> Q(x)) --> (P --> (EX x. Q(x)))"
  by (tactic ‹IntPr.fast_tac context 1›)


text "The following are not constructively valid!"
text "The attempt to prove them terminates quickly!"

schematic_goal "?p : ((ALL x. P(x))-->Q) --> (EX x. P(x)-->Q)"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops

schematic_goal "?p : (P --> (EX x. Q(x))) --> (EX x. P-->Q(x))"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops

schematic_goal "?p : (ALL x. P(x) | Q) --> ((ALL x. P(x)) | Q)"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops

schematic_goal "?p : (ALL x. ~~P(x)) --> ~~(ALL x. P(x))"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops

(*Classically but not intuitionistically valid.  Proved by a bug in 1986!*)
schematic_goal "?p : EX x. Q(x) --> (ALL x. Q(x))"
  apply (tactic ‹IntPr.fast_tac context 1›)?
  oops


subsection "Hard examples with quantifiers"

text ‹
 The ones that have not been proved are not known to be valid!
 Some will require quantifier duplication -- not currently available.
 
›

text "Problem ~~18"
schematic_goal "?p : ~~(EX y. ALL x. P(y)-->P(x))" oops
(*NOT PROVED*)

text "Problem ~~19"
schematic_goal "?p : ~~(EX x. ALL y z. (P(y)-->Q(z)) --> (P(x)-->Q(x)))" oops
(*NOT PROVED*)

text "Problem 20"
schematic_goal "?p : (ALL x y. EX z. ALL w. (P(x)&Q(y)-->R(z)&S(w)))
    --> (EX x y. P(x) & Q(y)) --> (EX z. R(z))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem 21"
schematic_goal "?p : (EX x. P-->Q(x)) & (EX x. Q(x)-->P) --> ~~(EX x. P<->Q(x))" oops
(*NOT PROVED*)

text "Problem 22"
schematic_goal "?p : (ALL x. P <-> Q(x)) --> (P <-> (ALL x. Q(x)))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem ~~23"
schematic_goal "?p : ~~ ((ALL x. P | Q(x)) <-> (P | (ALL x. Q(x))))"
  by (tactic ‹IntPr.fast_tac context 1›)

text "Problem 24"
schematic_goal "?p : ~(EX x. S(x)&Q(x)) & (ALL x. P(x) --> Q(x)|R(x)) &
     (~(EX x. P(x)) --> (EX x. Q(x))) & (ALL x. Q(x)|R(x) --> S(x))
    --> ~~(EX x. P(x)&R(x))"
(*Not clear why fast_tac, best_tac, ASTAR and ITER_DEEPEN all take forever*)
  apply (tactic "IntPr.safe_tac context")
  apply (erule impE)
   apply (tactic "IntPr.fast_tac context 1")
  apply (tactic "IntPr.fast_tac context 1")
  done

text "Problem 25"
schematic_goal "?p : (EX x. P(x)) &
        (ALL x. L(x) --> ~ (M(x) & R(x))) &
        (ALL x. P(x) --> (M(x) & L(x))) &
        ((ALL x. P(x)-->Q(x)) | (EX x. P(x)&R(x)))
    --> (EX x. Q(x)&P(x))"
  by (tactic "IntPr.best_tac context 1")

text "Problem 29. Essentially the same as Principia Mathematica *11.71"
schematic_goal "?p : (EX x. P(x)) & (EX y. Q(y))
    --> ((ALL x. P(x)-->R(x)) & (ALL y. Q(y)-->S(y)) <->
         (ALL x y. P(x) & Q(y) --> R(x) & S(y)))"
  by (tactic "IntPr.fast_tac context 1")

text "Problem ~~30"
schematic_goal "?p : (ALL x. (P(x) | Q(x)) --> ~ R(x)) &
        (ALL x. (Q(x) --> ~ S(x)) --> P(x) & R(x))
    --> (ALL x. ~~S(x))"
  by (tactic "IntPr.fast_tac context 1")

text "Problem 31"
schematic_goal "?p : ~(EX x. P(x) & (Q(x) | R(x))) &
        (EX x. L(x) & P(x)) &
        (ALL x. ~ R(x) --> M(x))
    --> (EX x. L(x) & M(x))"
  by (tactic "IntPr.fast_tac context 1")

text "Problem 32"
schematic_goal "?p : (ALL x. P(x) & (Q(x)|R(x))-->S(x)) &
        (ALL x. S(x) & R(x) --> L(x)) &
        (ALL x. M(x) --> R(x))
    --> (ALL x. P(x) & M(x) --> L(x))"
  by (tactic "IntPr.best_tac context 1") ― ‹slow›

text "Problem 39"
schematic_goal "?p : ~ (EX x. ALL y. F(y,x) <-> ~F(y,y))"
  by (tactic "IntPr.best_tac context 1")

text "Problem 40. AMENDED"
schematic_goal "?p : (EX y. ALL x. F(x,y) <-> F(x,x)) -->
              ~(ALL x. EX y. ALL z. F(z,y) <-> ~ F(z,x))"
  by (tactic "IntPr.best_tac context 1") ― ‹slow›

text "Problem 44"
schematic_goal "?p : (ALL x. f(x) -->
              (EX y. g(y) & h(x,y) & (EX y. g(y) & ~ h(x,y)))) &
              (EX x. j(x) & (ALL y. g(y) --> h(x,y)))
              --> (EX x. j(x) & ~f(x))"
  by (tactic "IntPr.best_tac context 1")

text "Problem 48"
schematic_goal "?p : (a=b | c=d) & (a=c | b=d) --> a=d | b=c"
  by (tactic "IntPr.best_tac context 1")

text "Problem 51"
schematic_goal
    "?p : (EX z w. ALL x y. P(x,y) <-> (x=z & y=w)) -->
     (EX z. ALL x. EX w. (ALL y. P(x,y) <-> y=w) <-> x=z)"
  by (tactic "IntPr.best_tac context 1") ― ‹60 seconds›

text "Problem 56"
schematic_goal "?p : (ALL x. (EX y. P(y) & x=f(y)) --> P(x)) <-> (ALL x. P(x) --> P(f(x)))"
  by (tactic "IntPr.best_tac context 1")

text "Problem 57"
schematic_goal
    "?p : P(f(a,b), f(b,c)) & P(f(b,c), f(a,c)) &
     (ALL x y z. P(x,y) & P(y,z) --> P(x,z)) --> P(f(a,b), f(a,c))"
  by (tactic "IntPr.best_tac context 1")

text "Problem 60"
schematic_goal "?p : ALL x. P(x,f(x)) <-> (EX y. (ALL z. P(z,y) --> P(z,f(x))) & P(x,y))"an>
  by (tactic "IntPr.best_tac context 1")

end

Messung V0.5 in Prozent
C=81 H=100 G=90

¤ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet am  2026-09-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126864
#Domains=1897691