]> matita.cs.unibo.it Git - helm.git/blob - matita/tests/TPTP/Veloci/COL060-2.p.ma
matita 0.5.1 tagged
[helm.git] / matita / tests / TPTP / Veloci / COL060-2.p.ma
1
2 include "logic/equality.ma".
3 (* Inclusion of: COL060-2.p *)
4 (* -------------------------------------------------------------------------- *)
5 (*  File     : COL060-2 : TPTP v3.1.1. Bugfixed v1.2.0. *)
6 (*  Domain   : Combinatory Logic *)
7 (*  Problem  : Find combinator equivalent to Q from B and T *)
8 (*  Version  : [WM88] (equality) axioms. *)
9 (*             Theorem formulation : The combinator is provided and checked. *)
10 (*  English  : Construct from B and T alone a combinator that behaves as the  *)
11 (*             combinator Q does, where ((Bx)y)z = x(yz), (Tx)y = yx,  *)
12 (*             ((Qx)y)z = y(xz). *)
13 (*  Refs     : [WM88]  Wos & McCune (1988), Challenge Problems Focusing on Eq *)
14 (*           : [WW+90] Wos et al. (1990), Automated Reasoning Contributes to  *)
15 (*  Source   : [TPTP] *)
16 (*  Names    :  *)
17 (*  Status   : Unsatisfiable *)
18 (*  Rating   : 0.00 v2.1.0, 0.29 v2.0.0 *)
19 (*  Syntax   : Number of clauses     :    3 (   0 non-Horn;   3 unit;   1 RR) *)
20 (*             Number of atoms       :    3 (   3 equality) *)
21 (*             Maximal clause size   :    1 (   1 average) *)
22 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
23 (*             Number of functors    :    6 (   5 constant; 0-2 arity) *)
24 (*             Number of variables   :    5 (   0 singleton) *)
25 (*             Maximal term depth    :    7 (   4 average) *)
26 (*  Comments :  *)
27 (*  Bugfixes : v1.2.0 : Redundant [fgh]_substitution axioms removed. *)
28 (* -------------------------------------------------------------------------- *)
29 (* ----This is the q equivalent *)
30 theorem prove_q_combinator:
31  \forall Univ:Set.
32 \forall apply:\forall _:Univ.\forall _:Univ.Univ.
33 \forall b:Univ.
34 \forall t:Univ.
35 \forall x:Univ.
36 \forall y:Univ.
37 \forall z:Univ.
38 \forall H0:\forall X:Univ.\forall Y:Univ.eq Univ (apply (apply t X) Y) (apply Y X).
39 \forall H1:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (apply (apply (apply b X) Y) Z) (apply X (apply Y Z)).eq Univ (apply (apply (apply (apply (apply b (apply t b)) (apply (apply b b) t)) x) y) z) (apply y (apply x z))
40 .
41 intros.
42 autobatch paramodulation timeout=100;
43 try assumption.
44 print proofterm.
45 qed.
46 (* -------------------------------------------------------------------------- *)