%------------------------------------------------------------------------------ % File : LCL006+0 : TPTP v7.2.0. Released v3.3.0. % Domain : Logic Calculi (Propositional) % Axioms : Propositional logic rules and axioms % Version : [She06] axioms. % English : % Refs : [Hal] Halleck (URL), John Halleck's Logic Systems % : [She06] Shen (2006), Automated Proofs of Equivalence of Modal % Source : [She06] % Names : % Status : Satisfiable % Syntax : Number of formulae : 26 ( 0 unit) % Number of atoms : 55 ( 1 equality) % Maximal formula depth : 6 ( 4 average) % Number of connectives : 29 ( 0 ~ ; 0 |; 1 &) % ( 26 <=>; 2 =>; 0 <=) % ( 0 <~>; 0 ~|; 0 ~&) % Number of predicates : 28 ( 26 propositional; 0-2 arity) % Number of functors : 5 ( 0 constant; 1-2 arity) % Number of variables : 55 ( 0 singleton; 55 !; 0 ?) % Maximal term depth : 5 ( 3 average) % SPC : % Comments : %------------------------------------------------------------------------------ %----The only explicit rule of PC. Uniform substitution is implemented by %----universal quantification fof(modus_ponens,axiom, ( modus_ponens <=> ! [X,Y] : ( ( is_a_theorem(X) & is_a_theorem(implies(X,Y)) ) => is_a_theorem(Y) ) )). %----Meta-rule of PC, which Ted says is not necessary fof(substitution_of_equivalents,axiom, ( substitution_of_equivalents <=> ! [X,Y] : ( is_a_theorem(equiv(X,Y)) => X = Y ) )). %----The axioms of Hilbert PC fof(modus_tollens,axiom, ( modus_tollens <=> ! [X,Y] : is_a_theorem(implies(implies(not(Y),not(X)),implies(X,Y))) )). fof(implies_1,axiom, ( implies_1 <=> ! [X,Y] : is_a_theorem(implies(X,implies(Y,X))) )). fof(implies_2,axiom, ( implies_2 <=> ! [X,Y] : is_a_theorem(implies(implies(X,implies(X,Y)),implies(X,Y))) )). fof(implies_3,axiom, ( implies_3 <=> ! [X,Y,Z] : is_a_theorem(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z)))) )). fof(and_1,axiom, ( and_1 <=> ! [X,Y] : is_a_theorem(implies(and(X,Y),X)) )). fof(and_2,axiom, ( and_2 <=> ! [X,Y] : is_a_theorem(implies(and(X,Y),Y)) )). fof(and_3,axiom, ( and_3 <=> ! [X,Y] : is_a_theorem(implies(X,implies(Y,and(X,Y)))) )). fof(or_1,axiom, ( or_1 <=> ! [X,Y] : is_a_theorem(implies(X,or(X,Y))) )). fof(or_2,axiom, ( or_2 <=> ! [X,Y] : is_a_theorem(implies(Y,or(X,Y))) )). fof(or_3,axiom, ( or_3 <=> ! [X,Y,Z] : is_a_theorem(implies(implies(X,Z),implies(implies(Y,Z),implies(or(X,Y),Z)))) )). fof(equivalence_1,axiom, ( equivalence_1 <=> ! [X,Y] : is_a_theorem(implies(equiv(X,Y),implies(X,Y))) )). fof(equivalence_2,axiom, ( equivalence_2 <=> ! [X,Y] : is_a_theorem(implies(equiv(X,Y),implies(Y,X))) )). fof(equivalence_3,axiom, ( equivalence_3 <=> ! [X,Y] : is_a_theorem(implies(implies(X,Y),implies(implies(Y,X),equiv(X,Y)))) )). %----Axioms for Rosser fof(kn1,axiom, ( kn1 <=> ! [P] : is_a_theorem(implies(P,and(P,P))) ) ). fof(kn2,axiom, ( kn2 <=> ! [P,Q] : is_a_theorem(implies(and(P,Q),P)) ) ). fof(kn3,axiom, ( kn3 <=> ! [P,Q,R] : is_a_theorem(implies(implies(P,Q),implies(not(and(Q,R)),not(and(R,P))))) ) ). %----Axioms for Luka fof(cn1,axiom, ( cn1 <=> ! [P,Q,R] : is_a_theorem(implies(implies(P,Q),implies(implies(Q,R),implies(P,R)))) )). fof(cn2,axiom, ( cn2 <=> ! [P,Q] : is_a_theorem(implies(P,implies(not(P),Q))) )). fof(cn3,axiom, ( cn3 <=> ! [P] : is_a_theorem(implies(implies(not(P),P),P)) )). %----Axioms for Principia fof(r1,axiom, ( r1 <=> ! [P] : is_a_theorem(implies(or(P,P),P)) )). fof(r2,axiom, ( r2 <=> ! [P,Q] : is_a_theorem(implies(Q,or(P,Q))) )). fof(r3,axiom, ( r3 <=> ! [P,Q] : is_a_theorem(implies(or(P,Q),or(Q,P))) )). %----This is the dependent one fof(r4,axiom, ( r4 <=> ! [P,Q,R] : is_a_theorem(implies(or(P,or(Q,R)),or(Q,or(P,R)))) )). fof(r5,axiom, ( r5 <=> ! [P,Q,R] : is_a_theorem(implies(implies(Q,R),implies(or(P,Q),or(P,R)))) )). %------------------------------------------------------------------------------