MODULE (
  HEADER (
    SPEC (
      NAME ("propaxiom"),
      VERSION ("1.00.00"),
      VERSION ("1.00.00"),
      LOCATIONS (
        LOCATION ("http://www.qedeq.org/0_00_53")
      )
    ),
    HEADLINE ("Axioms of Propositional Calculus"),
    DESCRIPTION (
      "This module includes the axioms of propositional calculus. These axioms (together with some rules) allow the deduction of all theorems of propositional calculus. To learn about possible conclusions click through the following `.. used by..' list. \par This file is part of the project `Hilbert II' see \href{http://www.qedeq.org/}{project homepage}."
    ),
    EMAIL ("module@qedeq.org"),
    AUTHORS (
      AUTHOR ("Michael Meyling",EMAIL ("mime@qedeq.org"))
    )
  ),
  USEDBY (
    SPEC (
      NAME ("proptheo1"),
      VERSION ("1.00.00"),
      VERSION ("1.00.00"),
      LOCATIONS (
        LOCATION (".")
      )
    ),
    SPEC (
      NAME ("proptheo2"),
      VERSION ("1.00.00"),
      VERSION ("1.00.00"),
      LOCATIONS (
        LOCATION (".")
      )
    ),
    SPEC (
      NAME ("predtheo1"),
      VERSION ("1.00.00"),
      VERSION ("1.00.00"),
      LOCATIONS (
        LOCATION (".")
      )
    ),
    SPEC (
      NAME ("prophilbert1"),
      VERSION ("1.00.00"),
      VERSION ("1.00.00"),
      LOCATIONS (
        LOCATION (".")
      )
    ),
    SPEC (
      NAME ("subst"),
      VERSION ("1.00.00"),
      VERSION ("1.01.00"),
      LOCATIONS (
        LOCATION (".")
      )
    ),
    SPEC (
      NAME ("prophilbert1"),
      VERSION ("1.00.00"),
      VERSION ("1.02.00"),
      LOCATIONS (
        LOCATION (".")
      )
    )
  ),
  PARAGRAPHS (
    PARAGRAPH (
      LABEL ("impl"),
      "We only need the logical disjunction (`or') and the negation (`not'). The other operands will be defined by them. (It would be possible to use only one operator: `sheffer's or' or `sheffer's and'.) At first we note an abbreviation that defines the implication:",
      ABBREVIATION (
        IMPL(FPATTERN(0), FPATTERN(1)),
        OR(NOT(FPATTERN(0)), FPATTERN(1))
    ),
      "This means that we could transform a part formula that matches the pattern on the left side into the right side and we could transform a part formula that matches the pattern on the right side into the formula on the left side."
    ),
    PARAGRAPH (
      LABEL ("and"),
      "The logical conjunction (`and') could be defined with de Morgan:",
      ABBREVIATION (
        AND(FPATTERN(0), FPATTERN(1)),
        NOT(OR(NOT(FPATTERN(0)), NOT(FPATTERN(1))))
    ),
      "This is still an abbreviation."
    ),
    PARAGRAPH (
      LABEL ("equi"),
      "The logical equivalence is defined as usual:",
      ABBREVIATION (
        EQUI(FPATTERN(1), FPATTERN(2)),
        AND(IMPL(FPATTERN(1), FPATTERN(2)), IMPL(FPATTERN(2), FPATTERN(1)))
    )
    ),
    PARAGRAPH (
      LABEL ("axiom1"),
      "Now we come to the first axiom of propositional calculus. This axiom enables us to get rid of an unnecessary disjunction:",
      AXIOM (
        IMPL(OR(PROP(1), PROP(1)), PROP(1))
      ),
      "This expresses the `idempotence' of the disjunction."
    ),
    PARAGRAPH (
      LABEL ("axiom2"),
      "Axiom of weakening:",
      AXIOM (
        IMPL(PROP(1), OR(PROP(1), PROP(2)))
      ),
      "If a proposition is true, any alternative may be added without making it false."
    ),
    PARAGRAPH (
      LABEL ("axiom3"),
      "The commutativity of the disjunction is expressed with the third axiom:",
      AXIOM (
        IMPL(OR(PROP(1), PROP(2)), OR(PROP(2), PROP(1)))
      )
    ),
    PARAGRAPH (
      LABEL ("axiom4"),
      "The last axiom is: ",
      AXIOM (
        IMPL(IMPL(PROP(1), PROP(2)), IMPL(OR(PROP(3), PROP(1)), OR(PROP(3), PROP(2))))
      )
    ),
    PARAGRAPH (
      LABEL ("rule1"),
      DECLARERULE (
        "MODUSPONENS", 
        "modus ponens"
      ),
      "For an explanation see \href{http://www.qedeq.org/0_00_53/rules_1.00.00.html#modusponens}{modus ponens} or \href{http://www.qedeq.org/0_00_53/rules_1.00.00.o.html#modusponens}{modus ponens (o)}"
    ),
    PARAGRAPH (
      LABEL ("rule2"),
      DECLARERULE (
        "ADDAXIOM", 
        "add axiom"
      ),
      "For an explanation see \href{http://www.qedeq.org/0_00_53/rules_1.00.00.html#addaxiom}{add axiom} or \href{http://www.qedeq.org/0_00_53/rules_1.00.00.o.html#addaxiom}{add axiom (o)}"
    ),
    PARAGRAPH (
      LABEL ("rule3"),
      DECLARERULE (
        "ADDSENTENCE", 
        "add sentence"
      ),
      "For an explanation see \href{http://www.qedeq.org/0_00_53/rules_1.00.00.html#addproposition}{add proposition} or \href{http://www.qedeq.org/0_00_53/rules_1.00.00.o.html#addproposition}{add proposition (o)}"
    ),
    PARAGRAPH (
      LABEL ("rule4"),
      DECLARERULE (
        "REPLACEPROP", 
        "replace proposition variable"
      ),
      "For an explanation see \href{http://www.qedeq.org/0_00_53/rules_1.00.00.html#replaceprop}{replace proposition Variable} or \href{http://www.qedeq.org/0_00_53/rules_1.00.00.o.html#replaceprop}{replace proposition variable (o)}"
    ),
    PARAGRAPH (
      LABEL ("rule5"),
      DECLARERULE (
        "USEABBREVIATION", 
        "use abbreviation"
      ),
      "For an explanation see \href{http://www.qedeq.org/0_00_53/rules_1.00.00.html#useabbreviation}{use abbreviation} or \href{http://www.qedeq.org/0_00_53/rules_1.00.00.o.html#useabbreviation}{use abbreviation (o)}"
    ),
    PARAGRAPH (
      LABEL ("rule6"),
        DECLARERULE (
        "REVERSEABBREVIATION", 
        "reverse abbreviation"
      ),
      "For an explanation see \href{http://www.qedeq.org/0_00_53/rules_1.00.00.html#reverseabbreviation}{reverse abbreviation} or \href{http://www.qedeq.org/0_00_53/rules_1.00.00.o.html#reverseabbreviation}{reverse abbreviation (o)}"
    )
  )
)

