TPTP Problem File: SCT169+5.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SCT169+5 : TPTP v9.0.0. Released v5.3.0.
% Domain : Social Choice Theory
% Problem : Arrow's Impossibility Theorem line 29, 100 axioms selected
% Version : Especial.
% English :
% Refs : [BN10] Boehme & Nipkow (2010), Sledgehammer: Judgement Day
% : [Bla11] Blanchette (2011), Email to Geoff Sutcliffe
% Source : [Bla11]
% Names : arrow_100_fofpt_l29 [Bla11]
% Status : Theorem
% Rating : 1.00 v5.4.0, 0.96 v5.3.0
% Syntax : Number of formulae : 137 ( 67 unt; 0 def)
% Number of atoms : 246 ( 192 equ)
% Maximal formula atoms : 6 ( 1 avg)
% Number of connectives : 145 ( 36 ~; 5 |; 21 &)
% ( 31 <=>; 52 =>; 0 <=; 0 <~>)
% Maximal formula depth : 11 ( 5 avg)
% Maximal term depth : 10 ( 2 avg)
% Number of predicates : 4 ( 3 usr; 0 prp; 1-2 aty)
% Number of functors : 30 ( 30 usr; 5 con; 0-4 aty)
% Number of variables : 371 ( 358 !; 13 ?)
% SPC : FOF_THM_RFO_SEQ
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2011-08-09 13:53:47
% : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (27)
fof(tsy_c_HOL_Oequal__class_Oequal_res,axiom,
! [X_a] :
( cl_HOL_Oequal(X_a)
=> ti(fun(X_a,fun(X_a,bool)),equal_equal(X_a)) = equal_equal(X_a) ) ).
fof(tsy_c_HOL_Oundefined_res,axiom,
! [X_a] : ti(X_a,undefined(X_a)) = undefined(X_a) ).
fof(tsy_c_List_Oappend_res,axiom,
! [X_a] : ti(fun(list(X_a),fun(list(X_a),list(X_a))),append(X_a)) = append(X_a) ).
fof(tsy_c_List_Obutlast_res,axiom,
! [X_a] : ti(fun(list(X_a),list(X_a)),butlast(X_a)) = butlast(X_a) ).
fof(tsy_c_List_Odistinct_res,axiom,
! [X_a] : ti(fun(list(X_a),bool),distinct(X_a)) = distinct(X_a) ).
fof(tsy_c_List_OdropWhile_res,axiom,
! [X_a] : ti(fun(fun(X_a,bool),fun(list(X_a),list(X_a))),dropWhile(X_a)) = dropWhile(X_a) ).
fof(tsy_c_List_Ohd_res,axiom,
! [X_a] : ti(fun(list(X_a),X_a),hd(X_a)) = hd(X_a) ).
fof(tsy_c_List_Oinsert_res,axiom,
! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),insert(X_a)) = insert(X_a) ).
fof(tsy_c_List_Olast_res,axiom,
! [X_a] : ti(fun(list(X_a),X_a),last(X_a)) = last(X_a) ).
fof(tsy_c_List_Olist_OCons_res,axiom,
! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),cons(X_a)) = cons(X_a) ).
fof(tsy_c_List_Olist_ONil_res,axiom,
! [X_a] : ti(list(X_a),nil(X_a)) = nil(X_a) ).
fof(tsy_c_List_Olist_Olist__case_res,axiom,
! [X_a,X_b] : ti(fun(X_a,fun(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a))),list_case(X_a,X_b)) = list_case(X_a,X_b) ).
fof(tsy_c_List_Olist_Olist__rec_res,axiom,
! [X_a,X_b] : ti(fun(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a))),list_rec(X_a,X_b)) = list_rec(X_a,X_b) ).
fof(tsy_c_List_Omaps_res,axiom,
! [X_b,X_a] : ti(fun(fun(X_b,list(X_a)),fun(list(X_b),list(X_a))),maps(X_b,X_a)) = maps(X_b,X_a) ).
fof(tsy_c_List_Onull_res,axiom,
! [X_a] : ti(fun(list(X_a),bool),null(X_a)) = null(X_a) ).
fof(tsy_c_List_Oreplicate_res,axiom,
! [X_a] : ti(fun(nat,fun(X_a,list(X_a))),replicate(X_a)) = replicate(X_a) ).
fof(tsy_c_List_Orev_res,axiom,
! [X_a] : ti(fun(list(X_a),list(X_a)),rev(X_a)) = rev(X_a) ).
fof(tsy_c_List_Orotate1_res,axiom,
! [X_a] : ti(fun(list(X_a),list(X_a)),rotate1(X_a)) = rotate1(X_a) ).
fof(tsy_c_List_Osplice_res,axiom,
! [X_a] : ti(fun(list(X_a),fun(list(X_a),list(X_a))),splice(X_a)) = splice(X_a) ).
fof(tsy_c_List_Otl_res,axiom,
! [X_a] : ti(fun(list(X_a),list(X_a)),tl(X_a)) = tl(X_a) ).
fof(tsy_c_fequal_res,axiom,
! [X_a] : ti(fun(X_a,fun(X_a,bool)),fequal(X_a)) = fequal(X_a) ).
fof(tsy_c_hAPP_arg1,axiom,
! [X_a,X_b,B_1,B_2] : hAPP(X_a,X_b,ti(fun(X_a,X_b),B_1),B_2) = hAPP(X_a,X_b,B_1,B_2) ).
fof(tsy_c_hAPP_arg2,axiom,
! [X_a,X_b,B_1,B_2] : hAPP(X_a,X_b,B_1,ti(X_a,B_2)) = hAPP(X_a,X_b,B_1,B_2) ).
fof(tsy_c_hAPP_res,axiom,
! [X_b,X_a,B_1,B_2] : ti(X_b,hAPP(X_a,X_b,B_1,B_2)) = hAPP(X_a,X_b,B_1,B_2) ).
fof(tsy_c_hBOOL_arg1,hypothesis,
! [B_1] :
( hBOOL(ti(bool,B_1))
<=> hBOOL(B_1) ) ).
fof(tsy_v_a_res,hypothesis,
ti(arrow_1212486748le_alt,a) = a ).
fof(tsy_v_b_res,hypothesis,
ti(arrow_1212486748le_alt,b) = b ).
%----Relevant facts (100)
fof(fact_0_alt3,axiom,
? [A_2,B,C] : hBOOL(hAPP(list(arrow_1212486748le_alt),bool,distinct(arrow_1212486748le_alt),hAPP(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt),hAPP(arrow_1212486748le_alt,fun(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt)),cons(arrow_1212486748le_alt),A_2),hAPP(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt),hAPP(arrow_1212486748le_alt,fun(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt)),cons(arrow_1212486748le_alt),B),hAPP(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt),hAPP(arrow_1212486748le_alt,fun(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt)),cons(arrow_1212486748le_alt),C),nil(arrow_1212486748le_alt)))))) ).
fof(fact_1_distinct_Osimps_I1_J,axiom,
! [X_a] : hBOOL(hAPP(list(X_a),bool,distinct(X_a),nil(X_a))) ).
fof(fact_2_list_Osimps_I2_J,axiom,
! [X_a,A_3,List_3] : nil(X_a) != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),List_3) ).
fof(fact_3_list_Osimps_I3_J,axiom,
! [X_a,A_3,List_3] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),List_3) != nil(X_a) ).
fof(fact_4_neq__Nil__conv,axiom,
! [X_a,Xs] :
( Xs != nil(X_a)
<=> ? [Y_2,Ys_2] : Xs = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2) ) ).
fof(fact_5_list_Oexhaust,axiom,
! [X_a,Y] :
( Y != nil(X_a)
=> ~ ! [A_2,List_2] : Y != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_2),List_2) ) ).
fof(fact_6_not__Cons__self,axiom,
! [X_a,Xs_1,X] : Xs_1 != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) ).
fof(fact_7_not__Cons__self2,axiom,
! [X_a,X,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) != Xs_1 ).
fof(fact_8_list_Oinject,axiom,
! [X_a,Aa,List,A_1,List_1] :
( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),List) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),List_1)
<=> ( ti(X_a,Aa) = ti(X_a,A_1)
& List = List_1 ) ) ).
fof(fact_9_splice_Osimps_I2_J,axiom,
! [X_a,V,Va] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),V),Va)),nil(X_a)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),V),Va) ).
fof(fact_10_insert__Nil,axiom,
! [X_a,X] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X),nil(X_a)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)) ).
fof(fact_11_list__nonempty__induct,axiom,
! [X_a,P,Xs] :
( Xs != nil(X_a)
=> ( ! [X_2] : hBOOL(hAPP(list(X_a),bool,P,hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),nil(X_a))))
=> ( ! [X_2,Xs_2] :
( Xs_2 != nil(X_a)
=> ( hBOOL(hAPP(list(X_a),bool,P,Xs_2))
=> hBOOL(hAPP(list(X_a),bool,P,hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2))) ) )
=> hBOOL(hAPP(list(X_a),bool,P,Xs)) ) ) ) ).
fof(fact_12_distinct__butlast,axiom,
! [X_a,Xs_1] :
( Xs_1 != nil(X_a)
=> ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1))) ) ) ).
fof(fact_13_butlast_Osimps_I1_J,axiom,
! [X_a] : hAPP(list(X_a),list(X_a),butlast(X_a),nil(X_a)) = nil(X_a) ).
fof(fact_14_distinct__insert,axiom,
! [X_a,X,Xs_1] :
( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X),Xs_1))) ) ).
fof(fact_15_splice_Osimps_I3_J,axiom,
! [X_a,X,Xs_1,Y,Ys] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Ys)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),Xs_1),Ys))) ).
fof(fact_16_splice__Nil2,axiom,
! [X_a,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),Xs_1),nil(X_a)) = Xs_1 ).
fof(fact_17_splice_Osimps_I1_J,axiom,
! [X_a,Ys] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),nil(X_a)),Ys) = Ys ).
fof(fact_18_butlast_Osimps_I2_J,axiom,
! [X_a,X,Xs_1] :
( ( Xs_1 = nil(X_a)
=> hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = nil(X_a) )
& ( Xs_1 != nil(X_a)
=> hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1)) ) ) ).
fof(fact_19_list_Osimps_I4_J,axiom,
! [X_b,X_a,F1,F2] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a)),list_case(X_a,X_b),F1),F2),nil(X_b)) = ti(X_a,F1) ).
fof(fact_20_list_Osimps_I5_J,axiom,
! [X_b,X_a,F1,F2,Aa,List] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a)),list_case(X_a,X_b),F1),F2),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Aa),List)) = hAPP(list(X_b),X_a,hAPP(X_b,fun(list(X_b),X_a),F2,Aa),List) ).
fof(fact_21_list_Orecs_I1_J,axiom,
! [X_b,X_a,F1,F2] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a)),list_rec(X_a,X_b),F1),F2),nil(X_b)) = ti(X_a,F1) ).
fof(fact_22_list_Orecs_I2_J,axiom,
! [X_b,X_a,F1,F2,Aa,List] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a)),list_rec(X_a,X_b),F1),F2),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Aa),List)) = hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(X_b,fun(list(X_b),fun(X_a,X_a)),F2,Aa),List),hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a)),list_rec(X_a,X_b),F1),F2),List)) ).
fof(fact_23_eq__Nil__null,axiom,
! [X_a,Xs] :
( Xs = nil(X_a)
<=> hBOOL(hAPP(list(X_a),bool,null(X_a),Xs)) ) ).
fof(fact_24_List_Onull__def,axiom,
! [X_a,Xs] :
( hBOOL(hAPP(list(X_a),bool,null(X_a),Xs))
<=> Xs = nil(X_a) ) ).
fof(fact_25_null__rec_I2_J,axiom,
! [X_b] : hBOOL(hAPP(list(X_b),bool,null(X_b),nil(X_b))) ).
fof(fact_26_null__rec_I1_J,axiom,
! [X_a,X,Xs_1] : ~ hBOOL(hAPP(list(X_a),bool,null(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1))) ).
fof(fact_27_butlast__snoc,axiom,
! [X_a,Xs_1,X] : hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)))) = Xs_1 ).
fof(fact_28_append__assoc,axiom,
! [X_a,Xs_1,Ys,Zs_2] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)),Zs_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Zs_2)) ).
fof(fact_29_append__eq__append__conv2,axiom,
! [X_a,Xs,Ys_1,Zs_1,Ts] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Ts)
<=> ? [Us_1] :
( ( Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Us_1)
& hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us_1),Ys_1) = Ts )
| ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us_1) = Zs_1
& Ys_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us_1),Ts) ) ) ) ).
fof(fact_30_same__append__eq,axiom,
! [X_a,Xs,Ys_1,Zs_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs_1)
<=> Ys_1 = Zs_1 ) ).
fof(fact_31_append__same__eq,axiom,
! [X_a,Ys_1,Xs,Zs_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Xs)
<=> Ys_1 = Zs_1 ) ).
fof(fact_32_append__eq__appendI,axiom,
! [X_a,Ys,Us,Xs_1,Xs1,Zs_2] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Xs1) = Zs_2
=> ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Us)
=> hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_2),Us) ) ) ).
fof(fact_33_append__Cons,axiom,
! [X_a,X,Xs_1,Ys] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)),Ys) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) ).
fof(fact_34_Cons__eq__appendI,axiom,
! [X_a,Xs_1,Zs_2,X,Xs1,Ys] :
( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs1) = Ys
=> ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Zs_2)
=> hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Zs_2) ) ) ).
fof(fact_35_append__Nil,axiom,
! [X_a,Ys] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),nil(X_a)),Ys) = Ys ).
fof(fact_36_Nil__is__append__conv,axiom,
! [X_a,Xs,Ys_1] :
( nil(X_a) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)
<=> ( Xs = nil(X_a)
& Ys_1 = nil(X_a) ) ) ).
fof(fact_37_append__Nil2,axiom,
! [X_a,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),nil(X_a)) = Xs_1 ).
fof(fact_38_self__append__conv,axiom,
! [X_a,Xs,Ys_1] :
( Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)
<=> Ys_1 = nil(X_a) ) ).
fof(fact_39_self__append__conv2,axiom,
! [X_a,Ys_1,Xs] :
( Ys_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)
<=> Xs = nil(X_a) ) ).
fof(fact_40_append__is__Nil__conv,axiom,
! [X_a,Xs,Ys_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1) = nil(X_a)
<=> ( Xs = nil(X_a)
& Ys_1 = nil(X_a) ) ) ).
fof(fact_41_append__self__conv,axiom,
! [X_a,Xs,Ys_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1) = Xs
<=> Ys_1 = nil(X_a) ) ).
fof(fact_42_append__self__conv2,axiom,
! [X_a,Xs,Ys_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1) = Ys_1
<=> Xs = nil(X_a) ) ).
fof(fact_43_eq__Nil__appendI,axiom,
! [X_a,Xs_1,Ys] :
( Xs_1 = Ys
=> Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),nil(X_a)),Ys) ) ).
fof(fact_44_append__eq__Cons__conv,axiom,
! [X_a,Ys_1,Zs_1,X_1,Xs] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)
<=> ( ( Ys_1 = nil(X_a)
& Zs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) )
| ? [Ys_3] :
( Ys_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys_3)
& hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),Zs_1) = Xs ) ) ) ).
fof(fact_45_Cons__eq__append__conv,axiom,
! [X_a,X_1,Xs,Ys_1,Zs_1] :
( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_1)
<=> ( ( Ys_1 = nil(X_a)
& hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) = Zs_1 )
| ? [Ys_3] :
( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys_3) = Ys_1
& Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),Zs_1) ) ) ) ).
fof(fact_46_append1__eq__conv,axiom,
! [X_a,Xs,X_1,Ys_1,Y_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),nil(X_a)))
<=> ( Xs = Ys_1
& ti(X_a,X_1) = ti(X_a,Y_1) ) ) ).
fof(fact_47_butlast__append,axiom,
! [X_a,Xs_1,Ys] :
( ( Ys = nil(X_a)
=> hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1) )
& ( Ys != nil(X_a)
=> hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),butlast(X_a),Ys)) ) ) ).
fof(fact_48_rev__induct,axiom,
! [X_a,Xs,P] :
( hBOOL(hAPP(list(X_a),bool,P,nil(X_a)))
=> ( ! [X_2,Xs_2] :
( hBOOL(hAPP(list(X_a),bool,P,Xs_2))
=> hBOOL(hAPP(list(X_a),bool,P,hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),nil(X_a))))) )
=> hBOOL(hAPP(list(X_a),bool,P,Xs)) ) ) ).
fof(fact_49_rev__cases,axiom,
! [X_a,Xs_1] :
( Xs_1 != nil(X_a)
=> ~ ! [Ys_2,Y_2] : Xs_1 != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))) ) ).
fof(fact_50_equal__Nil__null,axiom,
! [X_a,Xs] :
( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),equal_equal(list(X_a)),Xs),nil(X_a)))
<=> hBOOL(hAPP(list(X_a),bool,null(X_a),Xs)) ) ).
fof(fact_51_snoc__eq__iff__butlast,axiom,
! [X_a,Xs,X_1,Ys_1] :
( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))) = Ys_1
<=> ( Ys_1 != nil(X_a)
& hAPP(list(X_a),list(X_a),butlast(X_a),Ys_1) = Xs
& hAPP(list(X_a),X_a,last(X_a),Ys_1) = ti(X_a,X_1) ) ) ).
fof(fact_52_append__butlast__last__id,axiom,
! [X_a,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(list(X_a),X_a,last(X_a),Xs_1)),nil(X_a))) = Xs_1 ) ).
fof(fact_53_rotate__simps,axiom,
! [X_b,X_a,X,Xs_1] :
( hAPP(list(X_a),list(X_a),rotate1(X_a),nil(X_a)) = nil(X_a)
& hAPP(list(X_b),list(X_b),rotate1(X_b),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X),Xs_1)) = hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X),nil(X_b))) ) ).
fof(fact_54_equal__list__def,axiom,
! [X_a,X_1,Y_1] :
( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),equal_equal(list(X_a)),X_1),Y_1))
<=> X_1 = Y_1 ) ).
fof(fact_55_rotate1__is__Nil__conv,axiom,
! [X_a,Xs] :
( hAPP(list(X_a),list(X_a),rotate1(X_a),Xs) = nil(X_a)
<=> Xs = nil(X_a) ) ).
fof(fact_56_distinct1__rotate,axiom,
! [X_a,Xs] :
( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),rotate1(X_a),Xs)))
<=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs)) ) ).
fof(fact_57_last__ConsL,axiom,
! [X_a,X,Xs_1] :
( Xs_1 = nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = ti(X_a,X) ) ).
fof(fact_58_last__ConsR,axiom,
! [X_a,X,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = hAPP(list(X_a),X_a,last(X_a),Xs_1) ) ).
fof(fact_59_last_Osimps,axiom,
! [X_a,X,Xs_1] :
( ( Xs_1 = nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = ti(X_a,X) )
& ( Xs_1 != nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = hAPP(list(X_a),X_a,last(X_a),Xs_1) ) ) ).
fof(fact_60_last__appendL,axiom,
! [X_a,Xs_1,Ys] :
( Ys = nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,last(X_a),Xs_1) ) ).
fof(fact_61_last__appendR,axiom,
! [X_a,Xs_1,Ys] :
( Ys != nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,last(X_a),Ys) ) ).
fof(fact_62_last__append,axiom,
! [X_a,Xs_1,Ys] :
( ( Ys = nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,last(X_a),Xs_1) )
& ( Ys != nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,last(X_a),Ys) ) ) ).
fof(fact_63_last__snoc,axiom,
! [X_a,Xs_1,X] : hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)))) = ti(X_a,X) ).
fof(fact_64_maps__simps_I1_J,axiom,
! [X_b,X_a,F,X_1,Xs] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(X_a)),maps(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_b,list(X_a),F,X_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(X_a)),maps(X_b,X_a),F),Xs)) ).
fof(fact_65_not__distinct__decomp,axiom,
! [X_a,Ws] :
( ~ hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ws))
=> ? [Xs_2,Ys_2,Zs,Y_2] : Ws = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_2),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))),Zs)))) ) ).
fof(fact_66_equal,axiom,
! [X_a] :
( cl_HOL_Oequal(X_a)
=> equal_equal(X_a) = fequal(X_a) ) ).
fof(fact_67_equal__refl,axiom,
! [X_a] :
( cl_HOL_Oequal(X_a)
=> ! [X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),equal_equal(X_a),X),X)) ) ).
fof(fact_68_maps__simps_I2_J,axiom,
! [X_b,X_a,F] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(X_a)),maps(X_b,X_a),F),nil(X_b)) = nil(X_a) ).
fof(fact_69_eq__equal,axiom,
! [X_a] :
( cl_HOL_Oequal(X_a)
=> fequal(X_a) = equal_equal(X_a) ) ).
fof(fact_70_equal__eq,axiom,
! [X_a] :
( cl_HOL_Oequal(X_a)
=> ! [X_1,Y_1] :
( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),equal_equal(X_a),X_1),Y_1))
<=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ).
fof(fact_71_replicate__append__same,axiom,
! [X_a,I,X] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),I),X)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a))) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),I),X)) ).
fof(fact_72_rev_Osimps_I2_J,axiom,
! [X_a,X,Xs_1] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a))) ).
fof(fact_73_rev__eq__Cons__iff,axiom,
! [X_a,Xs,Y_1,Ys_1] :
( hAPP(list(X_a),list(X_a),rev(X_a),Xs) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys_1)
<=> Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Ys_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),nil(X_a))) ) ).
fof(fact_74_rev__is__rev__conv,axiom,
! [X_a,Xs,Ys_1] :
( hAPP(list(X_a),list(X_a),rev(X_a),Xs) = hAPP(list(X_a),list(X_a),rev(X_a),Ys_1)
<=> Xs = Ys_1 ) ).
fof(fact_75_ext,axiom,
! [X_a,X_b,F,G] :
( ! [X_2] : hAPP(X_a,X_b,F,X_2) = hAPP(X_a,X_b,G,X_2)
=> ti(fun(X_a,X_b),F) = ti(fun(X_a,X_b),G) ) ).
fof(fact_76_rev__swap,axiom,
! [X_a,Xs,Ys_1] :
( hAPP(list(X_a),list(X_a),rev(X_a),Xs) = Ys_1
<=> Xs = hAPP(list(X_a),list(X_a),rev(X_a),Ys_1) ) ).
fof(fact_77_rev__replicate,axiom,
! [X_a,N,X] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X) ).
fof(fact_78_rev__rev__ident,axiom,
! [X_a,Xs_1] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = Xs_1 ).
fof(fact_79_append__replicate__commute,axiom,
! [X_a,N,X,K] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) ).
fof(fact_80_distinct__rev,axiom,
! [X_a,Xs] :
( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)))
<=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs)) ) ).
fof(fact_81_rev__append,axiom,
! [X_a,Xs_1,Ys] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Ys)),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) ).
fof(fact_82_rev_Osimps_I1_J,axiom,
! [X_a] : hAPP(list(X_a),list(X_a),rev(X_a),nil(X_a)) = nil(X_a) ).
fof(fact_83_Nil__is__rev__conv,axiom,
! [X_a,Xs] :
( nil(X_a) = hAPP(list(X_a),list(X_a),rev(X_a),Xs)
<=> Xs = nil(X_a) ) ).
fof(fact_84_rev__is__Nil__conv,axiom,
! [X_a,Xs] :
( hAPP(list(X_a),list(X_a),rev(X_a),Xs) = nil(X_a)
<=> Xs = nil(X_a) ) ).
fof(fact_85_singleton__rev__conv,axiom,
! [X_a,X_1,Xs] :
( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) = hAPP(list(X_a),list(X_a),rev(X_a),Xs)
<=> Xs = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) ) ).
fof(fact_86_rev__singleton__conv,axiom,
! [X_a,Xs,X_1] :
( hAPP(list(X_a),list(X_a),rev(X_a),Xs) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))
<=> Xs = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) ) ).
fof(fact_87_replicate__app__Cons__same,axiom,
! [X_a,N,X,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),Xs_1)) ).
fof(fact_88_hd__rev,axiom,
! [X_a,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = hAPP(list(X_a),X_a,last(X_a),Xs_1) ) ).
fof(fact_89_last__rev,axiom,
! [X_a,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = hAPP(list(X_a),X_a,hd(X_a),Xs_1) ) ).
fof(fact_90_hd_Osimps,axiom,
! [X_a,X,Xs_1] : hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)) = ti(X_a,X) ).
fof(fact_91_hd__append,axiom,
! [X_a,Ys,Xs_1] :
( ( Xs_1 = nil(X_a)
=> hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,hd(X_a),Ys) )
& ( Xs_1 != nil(X_a)
=> hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,hd(X_a),Xs_1) ) ) ).
fof(fact_92_hd__append2,axiom,
! [X_a,Ys,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),X_a,hd(X_a),Xs_1) ) ).
fof(fact_93_rotate1__hd__tl,axiom,
! [X_a,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),list(X_a),rotate1(X_a),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(list(X_a),X_a,hd(X_a),Xs_1)),nil(X_a))) ) ).
fof(fact_94_hd__dropWhile,axiom,
! [X_a,P,Xs] :
( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),Xs) != nil(X_a)
=> ~ hBOOL(hAPP(X_a,bool,P,hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),Xs)))) ) ).
fof(fact_95_tl__append2,axiom,
! [X_a,Ys,Xs_1] :
( Xs_1 != nil(X_a)
=> hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs_1)),Ys) ) ).
fof(fact_96_distinct__tl,axiom,
! [X_a,Xs_1] :
( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs_1))) ) ).
fof(fact_97_distinct__dropWhile,axiom,
! [X_a,P,Xs] :
( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),Xs))) ) ).
fof(fact_98_dropWhile_Osimps_I1_J,axiom,
! [X_a,P] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),nil(X_a)) = nil(X_a) ).
fof(fact_99_dropWhile_Osimps_I2_J,axiom,
! [X_a,Xs,P,X_1] :
( ( hBOOL(hAPP(X_a,bool,P,X_1))
=> hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),Xs) )
& ( ~ hBOOL(hAPP(X_a,bool,P,X_1))
=> hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) ) ) ).
%----Arities (5)
fof(arity_HOL_Obool___Enum_Oenum,axiom,
enum(bool) ).
fof(arity_fun___Enum_Oenum,axiom,
! [T_2,T_1] :
( ( enum(T_1)
& enum(T_2) )
=> enum(fun(T_2,T_1)) ) ).
fof(arity_fun___HOL_Oequal,axiom,
! [T_2,T_1] :
( ( cl_HOL_Oequal(T_1)
& enum(T_2) )
=> cl_HOL_Oequal(fun(T_2,T_1)) ) ).
fof(arity_HOL_Obool___HOL_Oequal,axiom,
cl_HOL_Oequal(bool) ).
fof(arity_List_Olist___HOL_Oequal,axiom,
! [T_1] : cl_HOL_Oequal(list(T_1)) ).
%----Helper facts (3)
fof(help_ti_idem,axiom,
! [T,A] : ti(T,ti(T,A)) = ti(T,A) ).
fof(help_fequal_1_1_T,axiom,
! [X_a,X,Y] :
( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y))
| ti(X_a,X) = ti(X_a,Y) ) ).
fof(help_fequal_2_1_T,axiom,
! [X_a,X,Y] :
( ti(X_a,X) != ti(X_a,Y)
| hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y)) ) ).
%----Conjectures (2)
fof(conj_0,hypothesis,
a != b ).
fof(conj_1,conjecture,
? [C] : hBOOL(hAPP(list(arrow_1212486748le_alt),bool,distinct(arrow_1212486748le_alt),hAPP(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt),hAPP(arrow_1212486748le_alt,fun(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt)),cons(arrow_1212486748le_alt),a),hAPP(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt),hAPP(arrow_1212486748le_alt,fun(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt)),cons(arrow_1212486748le_alt),b),hAPP(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt),hAPP(arrow_1212486748le_alt,fun(list(arrow_1212486748le_alt),list(arrow_1212486748le_alt)),cons(arrow_1212486748le_alt),C),nil(arrow_1212486748le_alt)))))) ).
%------------------------------------------------------------------------------