]> matita.cs.unibo.it Git - helm.git/blob - matita/tests/TPTP/Veloci/GRP011-4.p.ma
tagged 0.5.0-rc1
[helm.git] / matita / tests / TPTP / Veloci / GRP011-4.p.ma
1
2 include "logic/equality.ma".
3 (* Inclusion of: GRP011-4.p *)
4 (* -------------------------------------------------------------------------- *)
5 (*  File     : GRP011-4 : TPTP v3.1.1. Released v1.0.0. *)
6 (*  Domain   : Group Theory *)
7 (*  Problem  : Left cancellation *)
8 (*  Version  : [Wos65] (equality) axioms : Incomplete. *)
9 (*  English  :  *)
10 (*  Refs     : [Wos65] Wos (1965), Unpublished Note *)
11 (*           : [Pel86] Pelletier (1986), Seventy-five Problems for Testing Au *)
12 (*  Source   : [Pel86] *)
13 (*  Names    : Pelletier 63 [Pel86] *)
14 (*  Status   : Unsatisfiable *)
15 (*  Rating   : 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.25 v2.0.0 *)
16 (*  Syntax   : Number of clauses     :    5 (   0 non-Horn;   5 unit;   2 RR) *)
17 (*             Number of atoms       :    5 (   5 equality) *)
18 (*             Maximal clause size   :    1 (   1 average) *)
19 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
20 (*             Number of functors    :    6 (   4 constant; 0-2 arity) *)
21 (*             Number of variables   :    5 (   0 singleton) *)
22 (*             Maximal term depth    :    3 (   2 average) *)
23 (*  Comments : [Pel86] says "... problems, published I think, by Larry Wos *)
24 (*             (but I cannot locate where)." *)
25 (* -------------------------------------------------------------------------- *)
26 (* ----The operation '*' is associative  *)
27 (* ----There exists an identity element  *)
28 theorem prove_left_cancellation:
29  \forall Univ:Set.
30 \forall b:Univ.
31 \forall c:Univ.
32 \forall d:Univ.
33 \forall identity:Univ.
34 \forall inverse:\forall _:Univ.Univ.
35 \forall multiply:\forall _:Univ.\forall _:Univ.Univ.
36 \forall H0:eq Univ (multiply b c) (multiply d c).
37 \forall H1:\forall X:Univ.eq Univ (multiply (inverse X) X) identity.
38 \forall H2:\forall X:Univ.eq Univ (multiply identity X) X.
39 \forall H3:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).eq Univ b d
40 .
41 intros.
42 autobatch paramodulation timeout=100;
43 try assumption.
44 print proofterm.
45 qed.
46 (* -------------------------------------------------------------------------- *)