TPTP Problem File: ITP209_4.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP209_4 : TPTP v9.0.0. Released v8.0.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer problem Syntax_Match 00088_002922
% Version : [Des22] axioms.
% English :
% Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% : [Des22] Desharnais (2022), Email to Geoff Sutcliffe
% Source : [Des22]
% Names : 0023_Syntax_Match_00088_002922 [Des22]
% Status : Theorem
% Rating : 0.00 v8.1.0
% Syntax : Number of formulae : 23 ( 7 unt; 10 typ; 0 def)
% Number of atoms : 21 ( 12 equ)
% Maximal formula atoms : 3 ( 1 avg)
% Number of connectives : 8 ( 0 ~; 0 |; 1 &)
% ( 1 <=>; 6 =>; 0 <=; 0 <~>)
% Maximal formula depth : 8 ( 5 avg)
% Maximal term depth : 6 ( 2 avg)
% Number of types : 2 ( 1 usr)
% Number of type conns : 9 ( 5 >; 4 *; 0 +; 0 <<)
% Number of predicates : 4 ( 3 usr; 0 prp; 2-4 aty)
% Number of functors : 6 ( 6 usr; 4 con; 0-4 aty)
% Number of variables : 56 ( 49 !; 0 ?; 56 :)
% ( 7 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TX1_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% from the van Emde Boas Trees session in the Archive of Formal
% proofs -
% www.isa-afp.org/browser_info/current/AFP/Van_Emde_Boas_Trees
% 2022-02-17 14:22:46.654
%------------------------------------------------------------------------------
% Could-be-implicit typings (2)
tff(ty_t_fun,type,
fun: ( $tType * $tType ) > $tType ).
tff(ty_tf_a,type,
a: $tType ).
% Explicit typings (8)
tff(sy_c_Syntax__Match_Oac__operator,type,
syntax_ac_operator:
!>[A: $tType] : ( fun(A,fun(A,A)) > $o ) ).
tff(sy_c_Syntax__Match_Osyntax__fo__nomatch,type,
syntax7388354845996824322omatch:
!>[A: $tType,B: $tType] : ( ( A * B ) > $o ) ).
tff(sy_c_Syntax__Match_Osyntax__nomatch,type,
syntax2379306206330768139omatch:
!>[A: $tType,B: $tType] : ( ( A * B ) > $o ) ).
tff(sy_c_aa,type,
aa:
!>[A: $tType,B: $tType] : ( ( fun(A,B) * A ) > B ) ).
tff(sy_v_a,type,
a2: a ).
tff(sy_v_b,type,
b: a ).
tff(sy_v_c,type,
c: a ).
tff(sy_v_f,type,
f: fun(a,fun(a,a)) ).
% Relevant facts (12)
tff(fact_0_ac__operator__axioms,axiom,
syntax_ac_operator(a,f) ).
% ac_operator_axioms
tff(fact_1_commute,axiom,
! [Aa: a,Ba: a] : ( aa(a,a,aa(a,fun(a,a),f,Aa),Ba) = aa(a,a,aa(a,fun(a,a),f,Ba),Aa) ) ).
% commute
tff(fact_2_left__commute,axiom,
! [Aa: a,Ba: a,Ca: a] : ( aa(a,a,aa(a,fun(a,a),f,Aa),aa(a,a,aa(a,fun(a,a),f,Ba),Ca)) = aa(a,a,aa(a,fun(a,a),f,Ba),aa(a,a,aa(a,fun(a,a),f,Aa),Ca)) ) ).
% left_commute
tff(fact_3_right__assoc,axiom,
! [Aa: a,Ba: a,Ca: a] : ( aa(a,a,aa(a,fun(a,a),f,aa(a,a,aa(a,fun(a,a),f,Aa),Ba)),Ca) = aa(a,a,aa(a,fun(a,a),f,Aa),aa(a,a,aa(a,fun(a,a),f,Ba),Ca)) ) ).
% right_assoc
tff(fact_4_syntax__nomatch__def,axiom,
! [B: $tType,C: $tType,Pat: B,Obj: C] : syntax2379306206330768139omatch(B,C,Pat,Obj) ).
% syntax_nomatch_def
tff(fact_5_syntax__fo__nomatch__def,axiom,
! [B: $tType,C: $tType,Pat: B,Obj: C] : syntax7388354845996824322omatch(B,C,Pat,Obj) ).
% syntax_fo_nomatch_def
tff(fact_6_ac__operator_Ointro,axiom,
! [B: $tType,Fa: fun(B,fun(B,B))] :
( ! [A2: B,B2: B,C2: B] : ( aa(B,B,aa(B,fun(B,B),Fa,aa(B,B,aa(B,fun(B,B),Fa,A2),B2)),C2) = aa(B,B,aa(B,fun(B,B),Fa,A2),aa(B,B,aa(B,fun(B,B),Fa,B2),C2)) )
=> ( ! [A2: B,B2: B] : ( aa(B,B,aa(B,fun(B,B),Fa,A2),B2) = aa(B,B,aa(B,fun(B,B),Fa,B2),A2) )
=> syntax_ac_operator(B,Fa) ) ) ).
% ac_operator.intro
tff(fact_7_ac__operator_Ocommute,axiom,
! [B: $tType,Fa: fun(B,fun(B,B)),Aa: B,Ba: B] :
( syntax_ac_operator(B,Fa)
=> ( aa(B,B,aa(B,fun(B,B),Fa,Aa),Ba) = aa(B,B,aa(B,fun(B,B),Fa,Ba),Aa) ) ) ).
% ac_operator.commute
tff(fact_8_ac__operator_Oleft__assoc,axiom,
! [B: $tType,Fa: fun(B,fun(B,B)),Aa: B,Ba: B,Ca: B] :
( syntax_ac_operator(B,Fa)
=> ( aa(B,B,aa(B,fun(B,B),Fa,Aa),aa(B,B,aa(B,fun(B,B),Fa,Ba),Ca)) = aa(B,B,aa(B,fun(B,B),Fa,aa(B,B,aa(B,fun(B,B),Fa,Aa),Ba)),Ca) ) ) ).
% ac_operator.left_assoc
tff(fact_9_ac__operator_Oright__assoc,axiom,
! [B: $tType,Fa: fun(B,fun(B,B)),Aa: B,Ba: B,Ca: B] :
( syntax_ac_operator(B,Fa)
=> ( aa(B,B,aa(B,fun(B,B),Fa,aa(B,B,aa(B,fun(B,B),Fa,Aa),Ba)),Ca) = aa(B,B,aa(B,fun(B,B),Fa,Aa),aa(B,B,aa(B,fun(B,B),Fa,Ba),Ca)) ) ) ).
% ac_operator.right_assoc
tff(fact_10_ac__operator_Oleft__commute,axiom,
! [B: $tType,Fa: fun(B,fun(B,B)),Aa: B,Ba: B,Ca: B] :
( syntax_ac_operator(B,Fa)
=> ( aa(B,B,aa(B,fun(B,B),Fa,Aa),aa(B,B,aa(B,fun(B,B),Fa,Ba),Ca)) = aa(B,B,aa(B,fun(B,B),Fa,Ba),aa(B,B,aa(B,fun(B,B),Fa,Aa),Ca)) ) ) ).
% ac_operator.left_commute
tff(fact_11_ac__operator__def,axiom,
! [B: $tType,Fa: fun(B,fun(B,B))] :
( syntax_ac_operator(B,Fa)
<=> ( ! [A3: B,B3: B,C3: B] : ( aa(B,B,aa(B,fun(B,B),Fa,aa(B,B,aa(B,fun(B,B),Fa,A3),B3)),C3) = aa(B,B,aa(B,fun(B,B),Fa,A3),aa(B,B,aa(B,fun(B,B),Fa,B3),C3)) )
& ! [A3: B,B3: B] : ( aa(B,B,aa(B,fun(B,B),Fa,A3),B3) = aa(B,B,aa(B,fun(B,B),Fa,B3),A3) ) ) ) ).
% ac_operator_def
% Conjectures (1)
tff(conj_0,conjecture,
aa(a,a,aa(a,fun(a,a),f,aa(a,a,aa(a,fun(a,a),f,a2),b)),c) = aa(a,a,aa(a,fun(a,a),f,aa(a,a,aa(a,fun(a,a),f,a2),c)),b) ).
%------------------------------------------------------------------------------