X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Ftests%2FTPTP%2FVeloci%2FRNG007-4.p.ma;fp=matita%2Ftests%2FTPTP%2FVeloci%2FRNG007-4.p.ma;h=97fc8aecba9f4e22bb5cc8d9c5288867f6133046;hp=0000000000000000000000000000000000000000;hb=f61af501fb4608cc4fb062a0864c774e677f0d76;hpb=58ae1809c352e71e7b5530dc41e2bfc834e1aef1 diff --git a/matita/tests/TPTP/Veloci/RNG007-4.p.ma b/matita/tests/TPTP/Veloci/RNG007-4.p.ma new file mode 100644 index 000000000..97fc8aecb --- /dev/null +++ b/matita/tests/TPTP/Veloci/RNG007-4.p.ma @@ -0,0 +1,90 @@ + +include "logic/equality.ma". +(* Inclusion of: RNG007-4.p *) +(* -------------------------------------------------------------------------- *) +(* File : RNG007-4 : TPTP v3.1.1. Released v1.0.0. *) +(* Domain : Ring Theory *) +(* Problem : In Boolean rings, X is its own inverse *) +(* Version : [Peterson & Stickel, 1981] (equality) axioms. *) +(* Theorem formulation : Equality. *) +(* English : Given a ring in which for all x, x * x = x, prove that for *) +(* all x, x + x = additive_identity *) +(* Refs : [PS81] Peterson & Stickel (1981), Complete Sets of Reductions *) +(* Source : [ANL] *) +(* Names : lemma.ver2.in [ANL] *) +(* Status : Unsatisfiable *) +(* Rating : 0.00 v2.2.1, 0.11 v2.2.0, 0.14 v2.1.0, 0.13 v2.0.0 *) +(* Syntax : Number of clauses : 16 ( 0 non-Horn; 16 unit; 2 RR) *) +(* Number of atoms : 16 ( 16 equality) *) +(* Maximal clause size : 1 ( 1 average) *) +(* Number of predicates : 1 ( 0 propositional; 2-2 arity) *) +(* Number of functors : 5 ( 2 constant; 0-2 arity) *) +(* Number of variables : 26 ( 2 singleton) *) +(* Maximal term depth : 3 ( 2 average) *) +(* Comments : *) +(* -------------------------------------------------------------------------- *) +(* ----Include ring theory axioms *) +(* Inclusion of: Axioms/RNG002-0.ax *) +(* -------------------------------------------------------------------------- *) +(* File : RNG002-0 : TPTP v3.1.1. Released v1.0.0. *) +(* Domain : Ring Theory *) +(* Axioms : Ring theory (equality) axioms *) +(* Version : [PS81] (equality) axioms : *) +(* Reduced & Augmented > Complete. *) +(* English : *) +(* Refs : [PS81] Peterson & Stickel (1981), Complete Sets of Reductions *) +(* Source : [ANL] *) +(* Names : *) +(* Status : *) +(* Syntax : Number of clauses : 14 ( 0 non-Horn; 14 unit; 1 RR) *) +(* Number of literals : 14 ( 14 equality) *) +(* Maximal clause size : 1 ( 1 average) *) +(* Number of predicates : 1 ( 0 propositional; 2-2 arity) *) +(* Number of functors : 4 ( 1 constant; 0-2 arity) *) +(* Number of variables : 25 ( 2 singleton) *) +(* Maximal term depth : 3 ( 2 average) *) +(* Comments : Not sure if these are complete. I don't know if the reductions *) +(* given in [PS81] are suitable for ATP. *) +(* -------------------------------------------------------------------------- *) +(* ----Existence of left identity for addition *) +(* ----Existence of left additive additive_inverse *) +(* ----Distributive property of product over sum *) +(* ----Inverse of identity is identity, stupid *) +(* ----Inverse of additive_inverse of X is X *) +(* ----Behavior of 0 and the multiplication operation *) +(* ----Inverse of (x + y) is additive_inverse(x) + additive_inverse(y) *) +(* ----x * additive_inverse(y) = additive_inverse (x * y) *) +(* ----Associativity of addition *) +(* ----Commutativity of addition *) +(* ----Associativity of product *) +(* -------------------------------------------------------------------------- *) +(* -------------------------------------------------------------------------- *) +theorem prove_inverse: + \forall Univ:Set. +\forall a:Univ. +\forall add:\forall _:Univ.\forall _:Univ.Univ. +\forall additive_identity:Univ. +\forall additive_inverse:\forall _:Univ.Univ. +\forall multiply:\forall _:Univ.\forall _:Univ.Univ. +\forall H0:\forall X:Univ.eq Univ (multiply X X) X. +\forall H1:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)). +\forall H2:\forall X:Univ.\forall Y:Univ.eq Univ (add X Y) (add Y X). +\forall H3:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)). +\forall H4:\forall X:Univ.\forall Y:Univ.eq Univ (multiply (additive_inverse X) Y) (additive_inverse (multiply X Y)). +\forall H5:\forall X:Univ.\forall Y:Univ.eq Univ (multiply X (additive_inverse Y)) (additive_inverse (multiply X Y)). +\forall H6:\forall X:Univ.\forall Y:Univ.eq Univ (additive_inverse (add X Y)) (add (additive_inverse X) (additive_inverse Y)). +\forall H7:\forall X:Univ.eq Univ (multiply additive_identity X) additive_identity. +\forall H8:\forall X:Univ.eq Univ (multiply X additive_identity) additive_identity. +\forall H9:\forall X:Univ.eq Univ (additive_inverse (additive_inverse X)) X. +\forall H10:eq Univ (additive_inverse additive_identity) additive_identity. +\forall H11:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)). +\forall H12:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)). +\forall H13:\forall X:Univ.eq Univ (add (additive_inverse X) X) additive_identity. +\forall H14:\forall X:Univ.eq Univ (add additive_identity X) X.eq Univ (add a a) additive_identity +. +intros. +autobatch paramodulation timeout=100; +try assumption. +print proofterm. +qed. +(* -------------------------------------------------------------------------- *)