TPTP Problem File: SCT169_1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SCT169_1 : TPTP v8.2.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_tff_l29 [Bla11]

% Status   : Theorem
% Rating   : 1.00 v5.4.0, 0.67 v5.3.0
% Syntax   : Number of formulae    :  131 (  36 unt;  33 typ;   0 def)
%            Number of atoms       :  196 ( 158 equ)
%            Maximal formula atoms :    6 (   1 avg)
%            Number of connectives :  134 (  36   ~;   5   |;  19   &)
%                                         (  30 <=>;  44  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   10 (   4 avg)
%            Maximal term depth    :    6 (   1 avg)
%            Number of types       :    9 (   8 usr)
%            Number of type conns  :   28 (  18   >;  10   *;   0   +;   0  <<)
%            Number of predicates  :    2 (   1 usr;   0 prp; 1-2 aty)
%            Number of functors    :   24 (  24 usr;   7 con; 0-2 aty)
%            Number of variables   :  202 ( 189   !;  13   ?; 202   :)
% SPC      : TF0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 15:18:21
%------------------------------------------------------------------------------
%----Should-be-implicit typings (8)
tff(ty_ty_tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    arrow_1621810872le_alt: $tType ).

tff(ty_ty_tc__HOL__Obool,type,
    bool: $tType ).

tff(ty_ty_tc__List__Olist_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt_J,type,
    list_A1414934253le_alt: $tType ).

tff(ty_ty_tc__Nat__Onat,type,
    nat: $tType ).

tff(ty_ty_tc__fun_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt_Mtc__HOL__Obo,type,
    fun_Ar1382166062t_bool: $tType ).

tff(ty_ty_tc__fun_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt_Mtc__List__Ol,type,
    fun_Ar1017216958le_alt: $tType ).

tff(ty_ty_tc__fun_Itc__List__Olist_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__O,type,
    fun_li1977348015t_bool: $tType ).

tff(ty_ty_tc__fun_Itc__List__Olist_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__O_001,type,
    fun_li978781171t_bool: $tType ).

%----Explicit typings (25)
tff(sy_c_HOL_Oequal__class_Oequal_000tc__List__Olist_Itc__Arrow____Order____Mirabell,type,
    equal_1931790859le_alt: fun_li978781171t_bool ).

tff(sy_c_List_Oappend_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    append1325534333le_alt: ( list_A1414934253le_alt * list_A1414934253le_alt ) > list_A1414934253le_alt ).

tff(sy_c_List_Obutlast_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    butlas1421399732le_alt: list_A1414934253le_alt > list_A1414934253le_alt ).

tff(sy_c_List_Odistinct_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    distin1382776155le_alt: fun_li1977348015t_bool ).

tff(sy_c_List_OdropWhile_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    dropWh315750153le_alt: ( fun_Ar1382166062t_bool * list_A1414934253le_alt ) > list_A1414934253le_alt ).

tff(sy_c_List_Ohd_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    hd_Arr964651579le_alt: list_A1414934253le_alt > arrow_1621810872le_alt ).

tff(sy_c_List_Oinsert_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    insert1119534974le_alt: ( arrow_1621810872le_alt * list_A1414934253le_alt ) > list_A1414934253le_alt ).

tff(sy_c_List_Olast_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    last_A216283521le_alt: list_A1414934253le_alt > arrow_1621810872le_alt ).

tff(sy_c_List_Olist_OCons_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    cons_A1375194904le_alt: ( arrow_1621810872le_alt * list_A1414934253le_alt ) > list_A1414934253le_alt ).

tff(sy_c_List_Olist_ONil_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    nil_Ar285162344le_alt: list_A1414934253le_alt ).

tff(sy_c_List_Omaps_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt_000tc__Ar,type,
    maps_A1379286593le_alt: ( fun_Ar1017216958le_alt * list_A1414934253le_alt ) > list_A1414934253le_alt ).

tff(sy_c_List_Onull_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    null_A519933296le_alt: fun_li1977348015t_bool ).

tff(sy_c_List_Oreplicate_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    replic510507042le_alt: nat > fun_Ar1017216958le_alt ).

tff(sy_c_List_Orev_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    rev_Ar105375176le_alt: list_A1414934253le_alt > list_A1414934253le_alt ).

tff(sy_c_List_Orotate1_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    rotate1481801141le_alt: list_A1414934253le_alt > list_A1414934253le_alt ).

tff(sy_c_List_Osplice_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    splice519866683le_alt: ( list_A1414934253le_alt * list_A1414934253le_alt ) > list_A1414934253le_alt ).

tff(sy_c_List_Otl_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt,type,
    tl_Arr1611903039le_alt: list_A1414934253le_alt > list_A1414934253le_alt ).

tff(sy_c_fequal_000tc__List__Olist_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__O,type,
    fequal80983470le_alt: fun_li978781171t_bool ).

tff(sy_c_hAPP_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt_000tc__HOL__Obo,type,
    hAPP_A965937536t_bool: ( fun_Ar1382166062t_bool * arrow_1621810872le_alt ) > bool ).

tff(sy_c_hAPP_000tc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oalt_000tc__List__Ol,type,
    hAPP_A1146653968le_alt: ( fun_Ar1017216958le_alt * arrow_1621810872le_alt ) > list_A1414934253le_alt ).

tff(sy_c_hAPP_000tc__List__Olist_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oal,type,
    hAPP_l1367475021t_bool: ( fun_li1977348015t_bool * list_A1414934253le_alt ) > bool ).

tff(sy_c_hAPP_000tc__List__Olist_Itc__Arrow____Order____Mirabelle____yfvrrhwpeb__Oal_002,type,
    hAPP_l387752383t_bool: ( fun_li978781171t_bool * list_A1414934253le_alt ) > fun_li1977348015t_bool ).

tff(sy_c_hBOOL,type,
    hBOOL: bool > $o ).

tff(sy_v_a,type,
    a: arrow_1621810872le_alt ).

tff(sy_v_b,type,
    b: arrow_1621810872le_alt ).

%----Relevant facts (94)
tff(fact_0_alt3,axiom,
    ? [A_1: arrow_1621810872le_alt,B: arrow_1621810872le_alt,C: arrow_1621810872le_alt] : hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,cons_A1375194904le_alt(A_1,cons_A1375194904le_alt(B,cons_A1375194904le_alt(C,nil_Ar285162344le_alt))))) ).

tff(fact_1_distinct_Osimps_I1_J,axiom,
    hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,nil_Ar285162344le_alt)) ).

tff(fact_2_list_Osimps_I2_J,axiom,
    ! [A_2: arrow_1621810872le_alt,List_3: list_A1414934253le_alt] : nil_Ar285162344le_alt != cons_A1375194904le_alt(A_2,List_3) ).

tff(fact_3_list_Osimps_I3_J,axiom,
    ! [A: arrow_1621810872le_alt,List: list_A1414934253le_alt] : cons_A1375194904le_alt(A,List) != nil_Ar285162344le_alt ).

tff(fact_4_neq__Nil__conv,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( ( Xs != nil_Ar285162344le_alt )
    <=> ? [Y_2: arrow_1621810872le_alt,Ys_5: list_A1414934253le_alt] : Xs = cons_A1375194904le_alt(Y_2,Ys_5) ) ).

tff(fact_5_list_Oexhaust,axiom,
    ! [Y_4: list_A1414934253le_alt] :
      ( ( Y_4 != nil_Ar285162344le_alt )
     => ~ ! [A_1: arrow_1621810872le_alt,List_2: list_A1414934253le_alt] : Y_4 != cons_A1375194904le_alt(A_1,List_2) ) ).

tff(fact_6_not__Cons__self,axiom,
    ! [Xs_39: list_A1414934253le_alt,X_24: arrow_1621810872le_alt] : Xs_39 != cons_A1375194904le_alt(X_24,Xs_39) ).

tff(fact_7_not__Cons__self2,axiom,
    ! [X_23: arrow_1621810872le_alt,Xs_38: list_A1414934253le_alt] : cons_A1375194904le_alt(X_23,Xs_38) != Xs_38 ).

tff(fact_8_list_Oinject,axiom,
    ! [Aa: arrow_1621810872le_alt,List_1: list_A1414934253le_alt,A: arrow_1621810872le_alt,List: list_A1414934253le_alt] :
      ( ( cons_A1375194904le_alt(Aa,List_1) = cons_A1375194904le_alt(A,List) )
    <=> ( ( Aa = A )
        & ( List_1 = List ) ) ) ).

tff(fact_9_splice_Osimps_I2_J,axiom,
    ! [V: arrow_1621810872le_alt,Va: list_A1414934253le_alt] : splice519866683le_alt(cons_A1375194904le_alt(V,Va),nil_Ar285162344le_alt) = cons_A1375194904le_alt(V,Va) ).

tff(fact_10_insert__Nil,axiom,
    ! [X_22: arrow_1621810872le_alt] : insert1119534974le_alt(X_22,nil_Ar285162344le_alt) = cons_A1375194904le_alt(X_22,nil_Ar285162344le_alt) ).

tff(fact_11_list__nonempty__induct,axiom,
    ! [P: fun_li1977348015t_bool,Xs: list_A1414934253le_alt] :
      ( ( Xs != nil_Ar285162344le_alt )
     => ( ! [X_14: arrow_1621810872le_alt] : hBOOL(hAPP_l1367475021t_bool(P,cons_A1375194904le_alt(X_14,nil_Ar285162344le_alt)))
       => ( ! [X_14: arrow_1621810872le_alt,Xs_13: list_A1414934253le_alt] :
              ( ( Xs_13 != nil_Ar285162344le_alt )
             => ( hBOOL(hAPP_l1367475021t_bool(P,Xs_13))
               => hBOOL(hAPP_l1367475021t_bool(P,cons_A1375194904le_alt(X_14,Xs_13))) ) )
         => hBOOL(hAPP_l1367475021t_bool(P,Xs)) ) ) ) ).

tff(fact_12_distinct__butlast,axiom,
    ! [Xs_37: list_A1414934253le_alt] :
      ( ( Xs_37 != nil_Ar285162344le_alt )
     => ( hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Xs_37))
       => hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,butlas1421399732le_alt(Xs_37))) ) ) ).

tff(fact_13_butlast_Osimps_I1_J,axiom,
    butlas1421399732le_alt(nil_Ar285162344le_alt) = nil_Ar285162344le_alt ).

tff(fact_14_distinct__insert,axiom,
    ! [X_21: arrow_1621810872le_alt,Xs_36: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Xs_36))
     => hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,insert1119534974le_alt(X_21,Xs_36))) ) ).

tff(fact_15_splice_Osimps_I3_J,axiom,
    ! [X_20: arrow_1621810872le_alt,Xs_35: list_A1414934253le_alt,Y_3: arrow_1621810872le_alt,Ys_18: list_A1414934253le_alt] : splice519866683le_alt(cons_A1375194904le_alt(X_20,Xs_35),cons_A1375194904le_alt(Y_3,Ys_18)) = cons_A1375194904le_alt(X_20,cons_A1375194904le_alt(Y_3,splice519866683le_alt(Xs_35,Ys_18))) ).

tff(fact_16_splice__Nil2,axiom,
    ! [Xs_34: list_A1414934253le_alt] : splice519866683le_alt(Xs_34,nil_Ar285162344le_alt) = Xs_34 ).

tff(fact_17_splice_Osimps_I1_J,axiom,
    ! [Ys_17: list_A1414934253le_alt] : splice519866683le_alt(nil_Ar285162344le_alt,Ys_17) = Ys_17 ).

tff(fact_18_butlast_Osimps_I2_J,axiom,
    ! [X_19: arrow_1621810872le_alt,Xs_33: list_A1414934253le_alt] :
      ( ( ( Xs_33 = nil_Ar285162344le_alt )
       => ( butlas1421399732le_alt(cons_A1375194904le_alt(X_19,Xs_33)) = nil_Ar285162344le_alt ) )
      & ( ( Xs_33 != nil_Ar285162344le_alt )
       => ( butlas1421399732le_alt(cons_A1375194904le_alt(X_19,Xs_33)) = cons_A1375194904le_alt(X_19,butlas1421399732le_alt(Xs_33)) ) ) ) ).

tff(fact_19_eq__Nil__null,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( ( Xs = nil_Ar285162344le_alt )
    <=> hBOOL(hAPP_l1367475021t_bool(null_A519933296le_alt,Xs)) ) ).

tff(fact_20_List_Onull__def,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(null_A519933296le_alt,Xs))
    <=> ( Xs = nil_Ar285162344le_alt ) ) ).

tff(fact_21_null__rec_I2_J,axiom,
    hBOOL(hAPP_l1367475021t_bool(null_A519933296le_alt,nil_Ar285162344le_alt)) ).

tff(fact_22_null__rec_I1_J,axiom,
    ! [X_18: arrow_1621810872le_alt,Xs_32: list_A1414934253le_alt] : ~ hBOOL(hAPP_l1367475021t_bool(null_A519933296le_alt,cons_A1375194904le_alt(X_18,Xs_32))) ).

tff(fact_23_butlast__snoc,axiom,
    ! [Xs_31: list_A1414934253le_alt,X_17: arrow_1621810872le_alt] : butlas1421399732le_alt(append1325534333le_alt(Xs_31,cons_A1375194904le_alt(X_17,nil_Ar285162344le_alt))) = Xs_31 ).

tff(fact_24_append__assoc,axiom,
    ! [Xs_30: list_A1414934253le_alt,Ys_16: list_A1414934253le_alt,Zs_4: list_A1414934253le_alt] : append1325534333le_alt(append1325534333le_alt(Xs_30,Ys_16),Zs_4) = append1325534333le_alt(Xs_30,append1325534333le_alt(Ys_16,Zs_4)) ).

tff(fact_25_append__eq__append__conv2,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt,Zs_1: list_A1414934253le_alt,Ts: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs,Ys_4) = append1325534333le_alt(Zs_1,Ts) )
    <=> ? [Us_1: list_A1414934253le_alt] :
          ( ( ( Xs = append1325534333le_alt(Zs_1,Us_1) )
            & ( append1325534333le_alt(Us_1,Ys_4) = Ts ) )
          | ( ( append1325534333le_alt(Xs,Us_1) = Zs_1 )
            & ( Ys_4 = append1325534333le_alt(Us_1,Ts) ) ) ) ) ).

tff(fact_26_same__append__eq,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt,Zs_1: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs,Ys_4) = append1325534333le_alt(Xs,Zs_1) )
    <=> ( Ys_4 = Zs_1 ) ) ).

tff(fact_27_append__same__eq,axiom,
    ! [Ys_4: list_A1414934253le_alt,Xs: list_A1414934253le_alt,Zs_1: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Ys_4,Xs) = append1325534333le_alt(Zs_1,Xs) )
    <=> ( Ys_4 = Zs_1 ) ) ).

tff(fact_28_append__eq__appendI,axiom,
    ! [Ys_15: list_A1414934253le_alt,Us: list_A1414934253le_alt,Xs_29: list_A1414934253le_alt,Xs1_1: list_A1414934253le_alt,Zs_3: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs_29,Xs1_1) = Zs_3 )
     => ( ( Ys_15 = append1325534333le_alt(Xs1_1,Us) )
       => ( append1325534333le_alt(Xs_29,Ys_15) = append1325534333le_alt(Zs_3,Us) ) ) ) ).

tff(fact_29_append__Cons,axiom,
    ! [X_16: arrow_1621810872le_alt,Xs_28: list_A1414934253le_alt,Ys_14: list_A1414934253le_alt] : append1325534333le_alt(cons_A1375194904le_alt(X_16,Xs_28),Ys_14) = cons_A1375194904le_alt(X_16,append1325534333le_alt(Xs_28,Ys_14)) ).

tff(fact_30_Cons__eq__appendI,axiom,
    ! [Xs_27: list_A1414934253le_alt,Zs_2: list_A1414934253le_alt,X_15: arrow_1621810872le_alt,Xs1: list_A1414934253le_alt,Ys_13: list_A1414934253le_alt] :
      ( ( cons_A1375194904le_alt(X_15,Xs1) = Ys_13 )
     => ( ( Xs_27 = append1325534333le_alt(Xs1,Zs_2) )
       => ( cons_A1375194904le_alt(X_15,Xs_27) = append1325534333le_alt(Ys_13,Zs_2) ) ) ) ).

tff(fact_31_append__Nil,axiom,
    ! [Ys_12: list_A1414934253le_alt] : append1325534333le_alt(nil_Ar285162344le_alt,Ys_12) = Ys_12 ).

tff(fact_32_Nil__is__append__conv,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( nil_Ar285162344le_alt = append1325534333le_alt(Xs,Ys_4) )
    <=> ( ( Xs = nil_Ar285162344le_alt )
        & ( Ys_4 = nil_Ar285162344le_alt ) ) ) ).

tff(fact_33_append__Nil2,axiom,
    ! [Xs_26: list_A1414934253le_alt] : append1325534333le_alt(Xs_26,nil_Ar285162344le_alt) = Xs_26 ).

tff(fact_34_self__append__conv,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( Xs = append1325534333le_alt(Xs,Ys_4) )
    <=> ( Ys_4 = nil_Ar285162344le_alt ) ) ).

tff(fact_35_self__append__conv2,axiom,
    ! [Ys_4: list_A1414934253le_alt,Xs: list_A1414934253le_alt] :
      ( ( Ys_4 = append1325534333le_alt(Xs,Ys_4) )
    <=> ( Xs = nil_Ar285162344le_alt ) ) ).

tff(fact_36_append__is__Nil__conv,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs,Ys_4) = nil_Ar285162344le_alt )
    <=> ( ( Xs = nil_Ar285162344le_alt )
        & ( Ys_4 = nil_Ar285162344le_alt ) ) ) ).

tff(fact_37_append__self__conv,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs,Ys_4) = Xs )
    <=> ( Ys_4 = nil_Ar285162344le_alt ) ) ).

tff(fact_38_append__self__conv2,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs,Ys_4) = Ys_4 )
    <=> ( Xs = nil_Ar285162344le_alt ) ) ).

tff(fact_39_eq__Nil__appendI,axiom,
    ! [Xs_25: list_A1414934253le_alt,Ys_11: list_A1414934253le_alt] :
      ( ( Xs_25 = Ys_11 )
     => ( Xs_25 = append1325534333le_alt(nil_Ar285162344le_alt,Ys_11) ) ) ).

tff(fact_40_append__eq__Cons__conv,axiom,
    ! [Ys_4: list_A1414934253le_alt,Zs_1: list_A1414934253le_alt,X_1: arrow_1621810872le_alt,Xs: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Ys_4,Zs_1) = cons_A1375194904le_alt(X_1,Xs) )
    <=> ( ( ( Ys_4 = nil_Ar285162344le_alt )
          & ( Zs_1 = cons_A1375194904le_alt(X_1,Xs) ) )
        | ? [Ys_10: list_A1414934253le_alt] :
            ( ( Ys_4 = cons_A1375194904le_alt(X_1,Ys_10) )
            & ( append1325534333le_alt(Ys_10,Zs_1) = Xs ) ) ) ) ).

tff(fact_41_Cons__eq__append__conv,axiom,
    ! [X_1: arrow_1621810872le_alt,Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt,Zs_1: list_A1414934253le_alt] :
      ( ( cons_A1375194904le_alt(X_1,Xs) = append1325534333le_alt(Ys_4,Zs_1) )
    <=> ( ( ( Ys_4 = nil_Ar285162344le_alt )
          & ( cons_A1375194904le_alt(X_1,Xs) = Zs_1 ) )
        | ? [Ys_10: list_A1414934253le_alt] :
            ( ( cons_A1375194904le_alt(X_1,Ys_10) = Ys_4 )
            & ( Xs = append1325534333le_alt(Ys_10,Zs_1) ) ) ) ) ).

tff(fact_42_append1__eq__conv,axiom,
    ! [Xs: list_A1414934253le_alt,X_1: arrow_1621810872le_alt,Ys_4: list_A1414934253le_alt,Y_1: arrow_1621810872le_alt] :
      ( ( append1325534333le_alt(Xs,cons_A1375194904le_alt(X_1,nil_Ar285162344le_alt)) = append1325534333le_alt(Ys_4,cons_A1375194904le_alt(Y_1,nil_Ar285162344le_alt)) )
    <=> ( ( Xs = Ys_4 )
        & ( X_1 = Y_1 ) ) ) ).

tff(fact_43_butlast__append,axiom,
    ! [Xs_24: list_A1414934253le_alt,Ys_9: list_A1414934253le_alt] :
      ( ( ( Ys_9 = nil_Ar285162344le_alt )
       => ( butlas1421399732le_alt(append1325534333le_alt(Xs_24,Ys_9)) = butlas1421399732le_alt(Xs_24) ) )
      & ( ( Ys_9 != nil_Ar285162344le_alt )
       => ( butlas1421399732le_alt(append1325534333le_alt(Xs_24,Ys_9)) = append1325534333le_alt(Xs_24,butlas1421399732le_alt(Ys_9)) ) ) ) ).

tff(fact_44_rev__induct,axiom,
    ! [Xs: list_A1414934253le_alt,P: fun_li1977348015t_bool] :
      ( hBOOL(hAPP_l1367475021t_bool(P,nil_Ar285162344le_alt))
     => ( ! [X_14: arrow_1621810872le_alt,Xs_13: list_A1414934253le_alt] :
            ( hBOOL(hAPP_l1367475021t_bool(P,Xs_13))
           => hBOOL(hAPP_l1367475021t_bool(P,append1325534333le_alt(Xs_13,cons_A1375194904le_alt(X_14,nil_Ar285162344le_alt)))) )
       => hBOOL(hAPP_l1367475021t_bool(P,Xs)) ) ) ).

tff(fact_45_rev__cases,axiom,
    ! [Xs_23: list_A1414934253le_alt] :
      ( ( Xs_23 != nil_Ar285162344le_alt )
     => ~ ! [Ys_5: list_A1414934253le_alt,Y_2: arrow_1621810872le_alt] : Xs_23 != append1325534333le_alt(Ys_5,cons_A1375194904le_alt(Y_2,nil_Ar285162344le_alt)) ) ).

tff(fact_46_equal__Nil__null,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(hAPP_l387752383t_bool(equal_1931790859le_alt,Xs),nil_Ar285162344le_alt))
    <=> hBOOL(hAPP_l1367475021t_bool(null_A519933296le_alt,Xs)) ) ).

tff(fact_47_snoc__eq__iff__butlast,axiom,
    ! [Xs: list_A1414934253le_alt,X_1: arrow_1621810872le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( append1325534333le_alt(Xs,cons_A1375194904le_alt(X_1,nil_Ar285162344le_alt)) = Ys_4 )
    <=> ( ( Ys_4 != nil_Ar285162344le_alt )
        & ( butlas1421399732le_alt(Ys_4) = Xs )
        & ( last_A216283521le_alt(Ys_4) = X_1 ) ) ) ).

tff(fact_48_append__butlast__last__id,axiom,
    ! [Xs_22: list_A1414934253le_alt] :
      ( ( Xs_22 != nil_Ar285162344le_alt )
     => ( append1325534333le_alt(butlas1421399732le_alt(Xs_22),cons_A1375194904le_alt(last_A216283521le_alt(Xs_22),nil_Ar285162344le_alt)) = Xs_22 ) ) ).

tff(fact_49_rotate__simps,axiom,
    ! [X_13: arrow_1621810872le_alt,Xs_21: list_A1414934253le_alt] :
      ( ( rotate1481801141le_alt(nil_Ar285162344le_alt) = nil_Ar285162344le_alt )
      & ( rotate1481801141le_alt(cons_A1375194904le_alt(X_13,Xs_21)) = append1325534333le_alt(Xs_21,cons_A1375194904le_alt(X_13,nil_Ar285162344le_alt)) ) ) ).

tff(fact_50_equal__list__def,axiom,
    ! [X_1: list_A1414934253le_alt,Y_1: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(hAPP_l387752383t_bool(equal_1931790859le_alt,X_1),Y_1))
    <=> ( X_1 = Y_1 ) ) ).

tff(fact_51_rotate1__is__Nil__conv,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( ( rotate1481801141le_alt(Xs) = nil_Ar285162344le_alt )
    <=> ( Xs = nil_Ar285162344le_alt ) ) ).

tff(fact_52_distinct1__rotate,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,rotate1481801141le_alt(Xs)))
    <=> hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Xs)) ) ).

tff(fact_53_last__ConsL,axiom,
    ! [X_12: arrow_1621810872le_alt,Xs_20: list_A1414934253le_alt] :
      ( ( Xs_20 = nil_Ar285162344le_alt )
     => ( last_A216283521le_alt(cons_A1375194904le_alt(X_12,Xs_20)) = X_12 ) ) ).

tff(fact_54_last__ConsR,axiom,
    ! [X_11: arrow_1621810872le_alt,Xs_19: list_A1414934253le_alt] :
      ( ( Xs_19 != nil_Ar285162344le_alt )
     => ( last_A216283521le_alt(cons_A1375194904le_alt(X_11,Xs_19)) = last_A216283521le_alt(Xs_19) ) ) ).

tff(fact_55_last_Osimps,axiom,
    ! [X_10: arrow_1621810872le_alt,Xs_18: list_A1414934253le_alt] :
      ( ( ( Xs_18 = nil_Ar285162344le_alt )
       => ( last_A216283521le_alt(cons_A1375194904le_alt(X_10,Xs_18)) = X_10 ) )
      & ( ( Xs_18 != nil_Ar285162344le_alt )
       => ( last_A216283521le_alt(cons_A1375194904le_alt(X_10,Xs_18)) = last_A216283521le_alt(Xs_18) ) ) ) ).

tff(fact_56_last__appendL,axiom,
    ! [Xs_17: list_A1414934253le_alt,Ys_8: list_A1414934253le_alt] :
      ( ( Ys_8 = nil_Ar285162344le_alt )
     => ( last_A216283521le_alt(append1325534333le_alt(Xs_17,Ys_8)) = last_A216283521le_alt(Xs_17) ) ) ).

tff(fact_57_last__appendR,axiom,
    ! [Xs_16: list_A1414934253le_alt,Ys_7: list_A1414934253le_alt] :
      ( ( Ys_7 != nil_Ar285162344le_alt )
     => ( last_A216283521le_alt(append1325534333le_alt(Xs_16,Ys_7)) = last_A216283521le_alt(Ys_7) ) ) ).

tff(fact_58_last__append,axiom,
    ! [Xs_15: list_A1414934253le_alt,Ys_6: list_A1414934253le_alt] :
      ( ( ( Ys_6 = nil_Ar285162344le_alt )
       => ( last_A216283521le_alt(append1325534333le_alt(Xs_15,Ys_6)) = last_A216283521le_alt(Xs_15) ) )
      & ( ( Ys_6 != nil_Ar285162344le_alt )
       => ( last_A216283521le_alt(append1325534333le_alt(Xs_15,Ys_6)) = last_A216283521le_alt(Ys_6) ) ) ) ).

tff(fact_59_last__snoc,axiom,
    ! [Xs_14: list_A1414934253le_alt,X_9: arrow_1621810872le_alt] : last_A216283521le_alt(append1325534333le_alt(Xs_14,cons_A1375194904le_alt(X_9,nil_Ar285162344le_alt))) = X_9 ).

tff(fact_60_maps__simps_I1_J,axiom,
    ! [F: fun_Ar1017216958le_alt,X_1: arrow_1621810872le_alt,Xs: list_A1414934253le_alt] : maps_A1379286593le_alt(F,cons_A1375194904le_alt(X_1,Xs)) = append1325534333le_alt(hAPP_A1146653968le_alt(F,X_1),maps_A1379286593le_alt(F,Xs)) ).

tff(fact_61_not__distinct__decomp,axiom,
    ! [Ws: list_A1414934253le_alt] :
      ( ~ hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Ws))
     => ? [Xs_13: list_A1414934253le_alt,Ys_5: list_A1414934253le_alt,Zs: list_A1414934253le_alt,Y_2: arrow_1621810872le_alt] : Ws = append1325534333le_alt(Xs_13,append1325534333le_alt(cons_A1375194904le_alt(Y_2,nil_Ar285162344le_alt),append1325534333le_alt(Ys_5,append1325534333le_alt(cons_A1375194904le_alt(Y_2,nil_Ar285162344le_alt),Zs)))) ) ).

tff(fact_62_equal,axiom,
    equal_1931790859le_alt = fequal80983470le_alt ).

tff(fact_63_equal__refl,axiom,
    ! [X_8: list_A1414934253le_alt] : hBOOL(hAPP_l1367475021t_bool(hAPP_l387752383t_bool(equal_1931790859le_alt,X_8),X_8)) ).

tff(fact_64_eq__equal,axiom,
    fequal80983470le_alt = equal_1931790859le_alt ).

tff(fact_65_equal__eq,axiom,
    ! [X_1: list_A1414934253le_alt,Y_1: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(hAPP_l387752383t_bool(equal_1931790859le_alt,X_1),Y_1))
    <=> ( X_1 = Y_1 ) ) ).

tff(fact_66_replicate__append__same,axiom,
    ! [I: nat,X_7: arrow_1621810872le_alt] : append1325534333le_alt(hAPP_A1146653968le_alt(replic510507042le_alt(I),X_7),cons_A1375194904le_alt(X_7,nil_Ar285162344le_alt)) = cons_A1375194904le_alt(X_7,hAPP_A1146653968le_alt(replic510507042le_alt(I),X_7)) ).

tff(fact_67_rev_Osimps_I2_J,axiom,
    ! [X_6: arrow_1621810872le_alt,Xs_12: list_A1414934253le_alt] : rev_Ar105375176le_alt(cons_A1375194904le_alt(X_6,Xs_12)) = append1325534333le_alt(rev_Ar105375176le_alt(Xs_12),cons_A1375194904le_alt(X_6,nil_Ar285162344le_alt)) ).

tff(fact_68_rev__eq__Cons__iff,axiom,
    ! [Xs: list_A1414934253le_alt,Y_1: arrow_1621810872le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( rev_Ar105375176le_alt(Xs) = cons_A1375194904le_alt(Y_1,Ys_4) )
    <=> ( Xs = append1325534333le_alt(rev_Ar105375176le_alt(Ys_4),cons_A1375194904le_alt(Y_1,nil_Ar285162344le_alt)) ) ) ).

tff(fact_69_rev__is__rev__conv,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( rev_Ar105375176le_alt(Xs) = rev_Ar105375176le_alt(Ys_4) )
    <=> ( Xs = Ys_4 ) ) ).

tff(fact_70_rev__swap,axiom,
    ! [Xs: list_A1414934253le_alt,Ys_4: list_A1414934253le_alt] :
      ( ( rev_Ar105375176le_alt(Xs) = Ys_4 )
    <=> ( Xs = rev_Ar105375176le_alt(Ys_4) ) ) ).

tff(fact_71_rev__replicate,axiom,
    ! [N_2: nat,X_5: arrow_1621810872le_alt] : rev_Ar105375176le_alt(hAPP_A1146653968le_alt(replic510507042le_alt(N_2),X_5)) = hAPP_A1146653968le_alt(replic510507042le_alt(N_2),X_5) ).

tff(fact_72_rev__rev__ident,axiom,
    ! [Xs_11: list_A1414934253le_alt] : rev_Ar105375176le_alt(rev_Ar105375176le_alt(Xs_11)) = Xs_11 ).

tff(fact_73_append__replicate__commute,axiom,
    ! [N_1: nat,X_4: arrow_1621810872le_alt,K: nat] : append1325534333le_alt(hAPP_A1146653968le_alt(replic510507042le_alt(N_1),X_4),hAPP_A1146653968le_alt(replic510507042le_alt(K),X_4)) = append1325534333le_alt(hAPP_A1146653968le_alt(replic510507042le_alt(K),X_4),hAPP_A1146653968le_alt(replic510507042le_alt(N_1),X_4)) ).

tff(fact_74_distinct__rev,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,rev_Ar105375176le_alt(Xs)))
    <=> hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Xs)) ) ).

tff(fact_75_rev__append,axiom,
    ! [Xs_10: list_A1414934253le_alt,Ys_3: list_A1414934253le_alt] : rev_Ar105375176le_alt(append1325534333le_alt(Xs_10,Ys_3)) = append1325534333le_alt(rev_Ar105375176le_alt(Ys_3),rev_Ar105375176le_alt(Xs_10)) ).

tff(fact_76_rev_Osimps_I1_J,axiom,
    rev_Ar105375176le_alt(nil_Ar285162344le_alt) = nil_Ar285162344le_alt ).

tff(fact_77_Nil__is__rev__conv,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( ( nil_Ar285162344le_alt = rev_Ar105375176le_alt(Xs) )
    <=> ( Xs = nil_Ar285162344le_alt ) ) ).

tff(fact_78_rev__is__Nil__conv,axiom,
    ! [Xs: list_A1414934253le_alt] :
      ( ( rev_Ar105375176le_alt(Xs) = nil_Ar285162344le_alt )
    <=> ( Xs = nil_Ar285162344le_alt ) ) ).

tff(fact_79_singleton__rev__conv,axiom,
    ! [X_1: arrow_1621810872le_alt,Xs: list_A1414934253le_alt] :
      ( ( cons_A1375194904le_alt(X_1,nil_Ar285162344le_alt) = rev_Ar105375176le_alt(Xs) )
    <=> ( Xs = cons_A1375194904le_alt(X_1,nil_Ar285162344le_alt) ) ) ).

tff(fact_80_rev__singleton__conv,axiom,
    ! [Xs: list_A1414934253le_alt,X_1: arrow_1621810872le_alt] :
      ( ( rev_Ar105375176le_alt(Xs) = cons_A1375194904le_alt(X_1,nil_Ar285162344le_alt) )
    <=> ( Xs = cons_A1375194904le_alt(X_1,nil_Ar285162344le_alt) ) ) ).

tff(fact_81_replicate__app__Cons__same,axiom,
    ! [N: nat,X_3: arrow_1621810872le_alt,Xs_9: list_A1414934253le_alt] : append1325534333le_alt(hAPP_A1146653968le_alt(replic510507042le_alt(N),X_3),cons_A1375194904le_alt(X_3,Xs_9)) = cons_A1375194904le_alt(X_3,append1325534333le_alt(hAPP_A1146653968le_alt(replic510507042le_alt(N),X_3),Xs_9)) ).

tff(fact_82_hd__rev,axiom,
    ! [Xs_8: list_A1414934253le_alt] :
      ( ( Xs_8 != nil_Ar285162344le_alt )
     => ( hd_Arr964651579le_alt(rev_Ar105375176le_alt(Xs_8)) = last_A216283521le_alt(Xs_8) ) ) ).

tff(fact_83_last__rev,axiom,
    ! [Xs_7: list_A1414934253le_alt] :
      ( ( Xs_7 != nil_Ar285162344le_alt )
     => ( last_A216283521le_alt(rev_Ar105375176le_alt(Xs_7)) = hd_Arr964651579le_alt(Xs_7) ) ) ).

tff(fact_84_hd_Osimps,axiom,
    ! [X_2: arrow_1621810872le_alt,Xs_6: list_A1414934253le_alt] : hd_Arr964651579le_alt(cons_A1375194904le_alt(X_2,Xs_6)) = X_2 ).

tff(fact_85_hd__append,axiom,
    ! [Ys_2: list_A1414934253le_alt,Xs_5: list_A1414934253le_alt] :
      ( ( ( Xs_5 = nil_Ar285162344le_alt )
       => ( hd_Arr964651579le_alt(append1325534333le_alt(Xs_5,Ys_2)) = hd_Arr964651579le_alt(Ys_2) ) )
      & ( ( Xs_5 != nil_Ar285162344le_alt )
       => ( hd_Arr964651579le_alt(append1325534333le_alt(Xs_5,Ys_2)) = hd_Arr964651579le_alt(Xs_5) ) ) ) ).

tff(fact_86_hd__append2,axiom,
    ! [Ys_1: list_A1414934253le_alt,Xs_4: list_A1414934253le_alt] :
      ( ( Xs_4 != nil_Ar285162344le_alt )
     => ( hd_Arr964651579le_alt(append1325534333le_alt(Xs_4,Ys_1)) = hd_Arr964651579le_alt(Xs_4) ) ) ).

tff(fact_87_rotate1__hd__tl,axiom,
    ! [Xs_3: list_A1414934253le_alt] :
      ( ( Xs_3 != nil_Ar285162344le_alt )
     => ( rotate1481801141le_alt(Xs_3) = append1325534333le_alt(tl_Arr1611903039le_alt(Xs_3),cons_A1375194904le_alt(hd_Arr964651579le_alt(Xs_3),nil_Ar285162344le_alt)) ) ) ).

tff(fact_88_hd__dropWhile,axiom,
    ! [P: fun_Ar1382166062t_bool,Xs: list_A1414934253le_alt] :
      ( ( dropWh315750153le_alt(P,Xs) != nil_Ar285162344le_alt )
     => ~ hBOOL(hAPP_A965937536t_bool(P,hd_Arr964651579le_alt(dropWh315750153le_alt(P,Xs)))) ) ).

tff(fact_89_tl__append2,axiom,
    ! [Ys: list_A1414934253le_alt,Xs_2: list_A1414934253le_alt] :
      ( ( Xs_2 != nil_Ar285162344le_alt )
     => ( tl_Arr1611903039le_alt(append1325534333le_alt(Xs_2,Ys)) = append1325534333le_alt(tl_Arr1611903039le_alt(Xs_2),Ys) ) ) ).

tff(fact_90_distinct__tl,axiom,
    ! [Xs_1: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Xs_1))
     => hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,tl_Arr1611903039le_alt(Xs_1))) ) ).

tff(fact_91_distinct__dropWhile,axiom,
    ! [P: fun_Ar1382166062t_bool,Xs: list_A1414934253le_alt] :
      ( hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,Xs))
     => hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,dropWh315750153le_alt(P,Xs))) ) ).

tff(fact_92_dropWhile_Osimps_I1_J,axiom,
    ! [P: fun_Ar1382166062t_bool] : dropWh315750153le_alt(P,nil_Ar285162344le_alt) = nil_Ar285162344le_alt ).

tff(fact_93_dropWhile_Osimps_I2_J,axiom,
    ! [Xs: list_A1414934253le_alt,P: fun_Ar1382166062t_bool,X_1: arrow_1621810872le_alt] :
      ( ( hBOOL(hAPP_A965937536t_bool(P,X_1))
       => ( dropWh315750153le_alt(P,cons_A1375194904le_alt(X_1,Xs)) = dropWh315750153le_alt(P,Xs) ) )
      & ( ~ hBOOL(hAPP_A965937536t_bool(P,X_1))
       => ( dropWh315750153le_alt(P,cons_A1375194904le_alt(X_1,Xs)) = cons_A1375194904le_alt(X_1,Xs) ) ) ) ).

%----Helper facts (2)
tff(help_fequal_1_1_fequal_000tc__List__Olist_Itc__Arrow____Order____Mirabelle____yf,axiom,
    ! [X: list_A1414934253le_alt,Y: list_A1414934253le_alt] :
      ( ~ hBOOL(hAPP_l1367475021t_bool(hAPP_l387752383t_bool(fequal80983470le_alt,X),Y))
      | ( X = Y ) ) ).

tff(help_fequal_2_1_fequal_000tc__List__Olist_Itc__Arrow____Order____Mirabelle____yf,axiom,
    ! [X: list_A1414934253le_alt,Y: list_A1414934253le_alt] :
      ( ( X != Y )
      | hBOOL(hAPP_l1367475021t_bool(hAPP_l387752383t_bool(fequal80983470le_alt,X),Y)) ) ).

%----Conjectures (2)
tff(conj_0,hypothesis,
    a != b ).

tff(conj_1,conjecture,
    ? [C: arrow_1621810872le_alt] : hBOOL(hAPP_l1367475021t_bool(distin1382776155le_alt,cons_A1375194904le_alt(a,cons_A1375194904le_alt(b,cons_A1375194904le_alt(C,nil_Ar285162344le_alt))))) ).

%------------------------------------------------------------------------------