TPTP Axioms File: LCL006+0.ax
%------------------------------------------------------------------------------
% File : LCL006+0 : TPTP v9.0.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 unt; 0 def)
% Number of atoms : 55 ( 1 equ)
% Maximal formula atoms : 4 ( 2 avg)
% Number of connectives : 29 ( 0 ~; 0 |; 1 &)
% ( 26 <=>; 2 =>; 0 <=; 0 <~>)
% Maximal formula depth : 6 ( 4 avg)
% Maximal term depth : 5 ( 2 avg)
% Number of predicates : 28 ( 27 usr; 26 prp; 0-2 aty)
% Number of functors : 5 ( 5 usr; 0 con; 1-2 aty)
% Number of variables : 55 ( 55 !; 0 ?)
% 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)))) ) ).
%------------------------------------------------------------------------------