TPTP Problem File: NUM928_5.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : NUM928_5 : TPTP v9.0.0. Released v6.0.0.
% Domain : Number Theory
% Problem : Sum of two squares line 26
% Version : Especial.
% English :
% Refs : [BN10] Boehme & Nipkow (2010), Sledgehammer: Judgement Day
% : [Bla13] Blanchette (2011), Email to Geoff Sutcliffe
% Source : [Bla13]
% Names : s2s_26 [Bla13]
% Status : Theorem
% Rating : 0.33 v7.4.0, 0.75 v7.1.0, 1.00 v6.4.0
% Syntax : Number of formulae : 168 ( 37 unt; 44 typ; 0 def)
% Number of atoms : 236 ( 120 equ)
% Maximal formula atoms : 4 ( 1 avg)
% Number of connectives : 118 ( 6 ~; 1 |; 7 &)
% ( 16 <=>; 88 =>; 0 <=; 0 <~>)
% Maximal formula depth : 11 ( 5 avg)
% Maximal term depth : 6 ( 1 avg)
% Number of types : 3 ( 2 usr)
% Number of type conns : 27 ( 18 >; 9 *; 0 +; 0 <<)
% Number of predicates : 26 ( 25 usr; 0 prp; 1-3 aty)
% Number of functors : 17 ( 17 usr; 5 con; 0-5 aty)
% Number of variables : 402 ( 361 !; 5 ?; 402 :)
% ( 36 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TF1_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2011-12-13 16:22:39
%------------------------------------------------------------------------------
%----Should-be-implicit typings (4)
tff(ty_tc_HOL_Obool,type,
bool: $tType ).
tff(ty_tc_Int_Oint,type,
int: $tType ).
tff(ty_tc_fun,type,
fun: ( $tType * $tType ) > $tType ).
tff(ty_tc_prod,type,
product_prod: ( $tType * $tType ) > $tType ).
%----Explicit typings (40)
tff(sy_cl_Int_Onumber,type,
number:
!>[A: $tType] : $o ).
tff(sy_cl_Rings_Oring,type,
ring:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Ominus,type,
cl_Groups_Ominus:
!>[A: $tType] : $o ).
tff(sy_cl_Rings_Oring__1,type,
ring_1:
!>[A: $tType] : $o ).
tff(sy_cl_Rings_Osemiring,type,
semiring:
!>[A: $tType] : $o ).
tff(sy_cl_Int_Onumber__ring,type,
number_ring:
!>[A: $tType] : $o ).
tff(sy_cl_Int_Oring__char__0,type,
ring_char_0:
!>[A: $tType] : $o ).
tff(sy_cl_Rings_Ocomm__ring,type,
comm_ring:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Ogroup__add,type,
group_add:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Oab__group__add,type,
ab_group_add:
!>[A: $tType] : $o ).
tff(sy_cl_Rings_Ocomm__semiring,type,
comm_semiring:
!>[A: $tType] : $o ).
tff(sy_cl_Rings_Ocomm__semiring__1,type,
comm_semiring_1:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Oab__semigroup__add,type,
ab_semigroup_add:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Oab__semigroup__mult,type,
ab_semigroup_mult:
!>[A: $tType] : $o ).
tff(sy_cl_Lattices_Oboolean__algebra,type,
boolean_algebra:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Ocancel__semigroup__add,type,
cancel_semigroup_add:
!>[A: $tType] : $o ).
tff(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
cancel146912293up_add:
!>[A: $tType] : $o ).
tff(sy_cl_Lattices_Oab__semigroup__idem__mult,type,
ab_sem1668676832m_mult:
!>[A: $tType] : $o ).
tff(sy_cl_Semiring__Normalization_Ocomm__semiring__1__cancel__crossproduct,type,
semiri456707255roduct:
!>[A: $tType] : $o ).
tff(sy_c_Groups_Oabel__semigroup,type,
abel_semigroup:
!>[A: $tType] : ( fun(A,fun(A,A)) > $o ) ).
tff(sy_c_Groups_Ocomm__monoid,type,
comm_monoid:
!>[A: $tType] : ( ( fun(A,fun(A,A)) * A ) > $o ) ).
tff(sy_c_Groups_Ominus__class_Ominus,type,
minus_minus:
!>[A: $tType] : ( ( A * A ) > A ) ).
tff(sy_c_Groups_Oplus__class_Oplus,type,
plus_plus:
!>[A: $tType] : ( ( A * A ) > A ) ).
tff(sy_c_Groups_Osemigroup,type,
semigroup:
!>[A: $tType] : ( fun(A,fun(A,A)) > $o ) ).
tff(sy_c_Groups_Otimes__class_Otimes,type,
times_times:
!>[A: $tType] : ( ( A * A ) > A ) ).
tff(sy_c_Groups_Ouminus__class_Ouminus,type,
uminus_uminus:
!>[A: $tType] : ( A > A ) ).
tff(sy_c_Int_OMin,type,
min: int ).
tff(sy_c_Int_Onumber__class_Onumber__of,type,
number_number_of:
!>[A: $tType] : ( int > A ) ).
tff(sy_c_Int_Oring__1__class_Oof__int,type,
ring_1_of_int:
!>[A: $tType] : ( int > A ) ).
tff(sy_c_Lattices_Osemilattice,type,
semilattice:
!>[A: $tType] : ( fun(A,fun(A,A)) > $o ) ).
tff(sy_c_Product__Type_OPair,type,
product_Pair:
!>[A: $tType,B2: $tType] : ( ( A * B2 ) > product_prod(A,B2) ) ).
tff(sy_c_Product__Type_Oprod_Oprod__rec,type,
product_prod_rec:
!>[A: $tType,B2: $tType,T: $tType] : ( ( fun(A,fun(B2,T)) * product_prod(A,B2) ) > T ) ).
tff(sy_c_TwoSquares__Mirabelle__poiayhyqls_Ois__sum2sq,type,
twoSqu1567020053sum2sq: int > $o ).
tff(sy_c_TwoSquares__Mirabelle__poiayhyqls_Osum2sq,type,
twoSqu196287499sum2sq: product_prod(int,int) > int ).
tff(sy_c_aa,type,
aa:
!>[A: $tType,B2: $tType] : ( ( fun(A,B2) * A ) > B2 ) ).
tff(sy_c_fFalse,type,
fFalse: bool ).
tff(sy_c_fTrue,type,
fTrue: bool ).
tff(sy_c_pp,type,
pp: bool > $o ).
tff(sy_v_x,type,
x: int ).
tff(sy_v_y,type,
y: int ).
%----Relevant facts (98)
tff(fact_0_mult__left__idem,axiom,
! [A: $tType] :
( ab_sem1668676832m_mult(A)
=> ! [B: A,A1: A] : ( times_times(A,A1,times_times(A,A1,B)) = times_times(A,A1,B) ) ) ).
tff(fact_1_times_Oidem,axiom,
! [A: $tType] :
( ab_sem1668676832m_mult(A)
=> ! [A1: A] : ( times_times(A,A1,A1) = A1 ) ) ).
tff(fact_2_mult__idem,axiom,
! [A: $tType] :
( ab_sem1668676832m_mult(A)
=> ! [X: A] : ( times_times(A,X,X) = X ) ) ).
tff(fact_3_comm__semiring__1__class_Onormalizing__semiring__rules_I7_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [B: A,A1: A] : ( times_times(A,A1,B) = times_times(A,B,A1) ) ) ).
tff(fact_4_comm__semiring__1__class_Onormalizing__semiring__rules_I19_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Ry: A,Rx: A,Lx: A] : ( times_times(A,Lx,times_times(A,Rx,Ry)) = times_times(A,Rx,times_times(A,Lx,Ry)) ) ) ).
tff(fact_5_comm__semiring__1__class_Onormalizing__semiring__rules_I18_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Ry: A,Rx: A,Lx: A] : ( times_times(A,Lx,times_times(A,Rx,Ry)) = times_times(A,times_times(A,Lx,Rx),Ry) ) ) ).
tff(fact_6_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
! [A: $tType] :
( ab_semigroup_mult(A)
=> ! [C: A,B: A,A1: A] : ( times_times(A,times_times(A,A1,B),C) = times_times(A,A1,times_times(A,B,C)) ) ) ).
tff(fact_7_comm__semiring__1__class_Onormalizing__semiring__rules_I17_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Rx: A,Ly: A,Lx: A] : ( times_times(A,times_times(A,Lx,Ly),Rx) = times_times(A,Lx,times_times(A,Ly,Rx)) ) ) ).
tff(fact_8_comm__semiring__1__class_Onormalizing__semiring__rules_I16_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Rx: A,Ly: A,Lx: A] : ( times_times(A,times_times(A,Lx,Ly),Rx) = times_times(A,times_times(A,Lx,Rx),Ly) ) ) ).
tff(fact_9_comm__semiring__1__class_Onormalizing__semiring__rules_I14_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Ry: A,Rx: A,Ly: A,Lx: A] : ( times_times(A,times_times(A,Lx,Ly),times_times(A,Rx,Ry)) = times_times(A,Lx,times_times(A,Ly,times_times(A,Rx,Ry))) ) ) ).
tff(fact_10_comm__semiring__1__class_Onormalizing__semiring__rules_I15_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Ry: A,Rx: A,Ly: A,Lx: A] : ( times_times(A,times_times(A,Lx,Ly),times_times(A,Rx,Ry)) = times_times(A,Rx,times_times(A,times_times(A,Lx,Ly),Ry)) ) ) ).
tff(fact_11_comm__semiring__1__class_Onormalizing__semiring__rules_I13_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Ry: A,Rx: A,Ly: A,Lx: A] : ( times_times(A,times_times(A,Lx,Ly),times_times(A,Rx,Ry)) = times_times(A,times_times(A,Lx,Rx),times_times(A,Ly,Ry)) ) ) ).
tff(fact_12_semigroup_Oassoc,axiom,
! [A: $tType,C2: A,B1: A,A2: A,F: fun(A,fun(A,A))] :
( semigroup(A,F)
=> ( aa(A,A,aa(A,fun(A,A),F,aa(A,A,aa(A,fun(A,A),F,A2),B1)),C2) = aa(A,A,aa(A,fun(A,A),F,A2),aa(A,A,aa(A,fun(A,A),F,B1),C2)) ) ) ).
tff(fact_13_comm__monoid_Ocomm__neutral,axiom,
! [A: $tType,A2: A,Z3: A,F: fun(A,fun(A,A))] :
( comm_monoid(A,F,Z3)
=> ( aa(A,A,aa(A,fun(A,A),F,A2),Z3) = A2 ) ) ).
tff(fact_14_is__sum2sq__def,axiom,
! [Xa: int] :
( twoSqu1567020053sum2sq(Xa)
<=> ? [A3: int,B3: int] : ( twoSqu196287499sum2sq(product_Pair(int,int,A3,B3)) = Xa ) ) ).
tff(fact_15_mult__number__of__left,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [Z: A,W: int,V: int] : ( times_times(A,number_number_of(A,V),times_times(A,number_number_of(A,W),Z)) = times_times(A,number_number_of(A,times_times(int,V,W)),Z) ) ) ).
tff(fact_16_arith__simps_I32_J,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int,V: int] : ( times_times(A,number_number_of(A,V),number_number_of(A,W)) = number_number_of(A,times_times(int,V,W)) ) ) ).
tff(fact_17_of__int__mult,axiom,
! [A: $tType] :
( ring_1(A)
=> ! [Z: int,W: int] : ( ring_1_of_int(A,times_times(int,W,Z)) = times_times(A,ring_1_of_int(A,W),ring_1_of_int(A,Z)) ) ) ).
tff(fact_18_number__of__mult,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int,V: int] : ( number_number_of(A,times_times(int,V,W)) = times_times(A,number_number_of(A,V),number_number_of(A,W)) ) ) ).
tff(fact_19_semilattice_Oidem,axiom,
! [A: $tType,A2: A,F: fun(A,fun(A,A))] :
( semilattice(A,F)
=> ( aa(A,A,aa(A,fun(A,A),F,A2),A2) = A2 ) ) ).
tff(fact_20_abel__semigroup_Ocommute,axiom,
! [A: $tType,B1: A,A2: A,F: fun(A,fun(A,A))] :
( abel_semigroup(A,F)
=> ( aa(A,A,aa(A,fun(A,A),F,A2),B1) = aa(A,A,aa(A,fun(A,A),F,B1),A2) ) ) ).
tff(fact_21_eq__number__of,axiom,
! [A: $tType] :
( ( number_ring(A)
& ring_char_0(A) )
=> ! [Ya: int,Xa: int] :
( ( number_number_of(A,Xa) = number_number_of(A,Ya) )
<=> ( Xa = Ya ) ) ) ).
tff(fact_22_of__int__eq__iff,axiom,
! [A: $tType] :
( ring_char_0(A)
=> ! [Z3: int,W1: int] :
( ( ring_1_of_int(A,W1) = ring_1_of_int(A,Z3) )
<=> ( W1 = Z3 ) ) ) ).
tff(fact_23_of__int__number__of__eq,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [V: int] : ( ring_1_of_int(A,number_number_of(int,V)) = number_number_of(A,V) ) ) ).
tff(fact_24_number__of__reorient,axiom,
! [A: $tType] :
( number(A)
=> ! [Xa: A,W1: int] :
( ( number_number_of(A,W1) = Xa )
<=> ( Xa = number_number_of(A,W1) ) ) ) ).
tff(fact_25_number__of__eq,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [K: int] : ( number_number_of(A,K) = ring_1_of_int(A,K) ) ) ).
tff(fact_26_times__numeral__code_I5_J,axiom,
! [W: int,V: int] : ( times_times(int,number_number_of(int,V),number_number_of(int,W)) = number_number_of(int,times_times(int,V,W)) ) ).
tff(fact_27_abel__semigroup_Oleft__commute,axiom,
! [A: $tType,C2: A,A2: A,B1: A,F: fun(A,fun(A,A))] :
( abel_semigroup(A,F)
=> ( aa(A,A,aa(A,fun(A,A),F,B1),aa(A,A,aa(A,fun(A,A),F,A2),C2)) = aa(A,A,aa(A,fun(A,A),F,A2),aa(A,A,aa(A,fun(A,A),F,B1),C2)) ) ) ).
tff(fact_28_semilattice_Oleft__idem,axiom,
! [A: $tType,B1: A,A2: A,F: fun(A,fun(A,A))] :
( semilattice(A,F)
=> ( aa(A,A,aa(A,fun(A,A),F,A2),aa(A,A,aa(A,fun(A,A),F,A2),B1)) = aa(A,A,aa(A,fun(A,A),F,A2),B1) ) ) ).
tff(fact_29_Pair__eq,axiom,
! [A: $tType,B2: $tType,B6: B2,A6: A,B1: B2,A2: A] :
( ( product_Pair(A,B2,A2,B1) = product_Pair(A,B2,A6,B6) )
<=> ( ( A2 = A6 )
& ( B1 = B6 ) ) ) ).
tff(fact_30_split__paired__All,axiom,
! [A: $tType,B2: $tType,P: fun(product_prod(A,B2),bool)] :
( ! [X1: product_prod(A,B2)] : pp(aa(product_prod(A,B2),bool,P,X1))
<=> ! [A3: A,B3: B2] : pp(aa(product_prod(A,B2),bool,P,product_Pair(A,B2,A3,B3))) ) ).
tff(fact_31_Pair__inject,axiom,
! [A: $tType,B2: $tType,B5: B2,A5: A,B: B2,A1: A] :
( ( product_Pair(A,B2,A1,B) = product_Pair(A,B2,A5,B5) )
=> ~ ( ( A1 = A5 )
=> ( B != B5 ) ) ) ).
tff(fact_32_of__int__m1,axiom,
! [A: $tType] :
( number_ring(A)
=> ( ring_1_of_int(A,number_number_of(int,min)) = number_number_of(A,min) ) ) ).
tff(fact_33_right__distrib__number__of,axiom,
! [B2: $tType] :
( ( number(B2)
& semiring(B2) )
=> ! [C: B2,B: B2,V: int] : ( times_times(B2,number_number_of(B2,V),plus_plus(B2,B,C)) = plus_plus(B2,times_times(B2,number_number_of(B2,V),B),times_times(B2,number_number_of(B2,V),C)) ) ) ).
tff(fact_34_left__distrib__number__of,axiom,
! [B2: $tType] :
( ( number(B2)
& semiring(B2) )
=> ! [V: int,B: B2,A1: B2] : ( times_times(B2,plus_plus(B2,A1,B),number_number_of(B2,V)) = plus_plus(B2,times_times(B2,A1,number_number_of(B2,V)),times_times(B2,B,number_number_of(B2,V))) ) ) ).
tff(fact_35_right__diff__distrib__number__of,axiom,
! [B2: $tType] :
( ( number(B2)
& ring(B2) )
=> ! [C: B2,B: B2,V: int] : ( times_times(B2,number_number_of(B2,V),minus_minus(B2,B,C)) = minus_minus(B2,times_times(B2,number_number_of(B2,V),B),times_times(B2,number_number_of(B2,V),C)) ) ) ).
tff(fact_36_add__right__cancel,axiom,
! [A: $tType] :
( cancel_semigroup_add(A)
=> ! [C2: A,A2: A,B1: A] :
( ( plus_plus(A,B1,A2) = plus_plus(A,C2,A2) )
<=> ( B1 = C2 ) ) ) ).
tff(fact_37_add__left__cancel,axiom,
! [A: $tType] :
( cancel_semigroup_add(A)
=> ! [C2: A,B1: A,A2: A] :
( ( plus_plus(A,A2,B1) = plus_plus(A,A2,C2) )
<=> ( B1 = C2 ) ) ) ).
tff(fact_38_add__number__of__left,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [Z: A,W: int,V: int] : ( plus_plus(A,number_number_of(A,V),plus_plus(A,number_number_of(A,W),Z)) = plus_plus(A,number_number_of(A,plus_plus(int,V,W)),Z) ) ) ).
tff(fact_39_add__number__of__eq,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int,V: int] : ( plus_plus(A,number_number_of(A,V),number_number_of(A,W)) = number_number_of(A,plus_plus(int,V,W)) ) ) ).
tff(fact_40_of__int__add,axiom,
! [A: $tType] :
( ring_1(A)
=> ! [Z: int,W: int] : ( ring_1_of_int(A,plus_plus(int,W,Z)) = plus_plus(A,ring_1_of_int(A,W),ring_1_of_int(A,Z)) ) ) ).
tff(fact_41_of__int__diff,axiom,
! [A: $tType] :
( ring_1(A)
=> ! [Z: int,W: int] : ( ring_1_of_int(A,minus_minus(int,W,Z)) = minus_minus(A,ring_1_of_int(A,W),ring_1_of_int(A,Z)) ) ) ).
tff(fact_42_left__diff__distrib__number__of,axiom,
! [B2: $tType] :
( ( number(B2)
& ring(B2) )
=> ! [V: int,B: B2,A1: B2] : ( times_times(B2,minus_minus(B2,A1,B),number_number_of(B2,V)) = minus_minus(B2,times_times(B2,A1,number_number_of(B2,V)),times_times(B2,B,number_number_of(B2,V))) ) ) ).
tff(fact_43_add__number__of__diff1,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [C: A,W: int,V: int] : ( plus_plus(A,number_number_of(A,V),minus_minus(A,number_number_of(A,W),C)) = minus_minus(A,number_number_of(A,plus_plus(int,V,W)),C) ) ) ).
tff(fact_44_plus__numeral__code_I9_J,axiom,
! [W: int,V: int] : ( plus_plus(int,number_number_of(int,V),number_number_of(int,W)) = number_number_of(int,plus_plus(int,V,W)) ) ).
tff(fact_45_number__of__diff,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int,V: int] : ( number_number_of(A,minus_minus(int,V,W)) = minus_minus(A,number_number_of(A,V),number_number_of(A,W)) ) ) ).
tff(fact_46_number__of__add,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int,V: int] : ( number_number_of(A,plus_plus(int,V,W)) = plus_plus(A,number_number_of(A,V),number_number_of(A,W)) ) ) ).
tff(fact_47_int__number__of__def,axiom,
! [W: int] : ( number_number_of(int,W) = ring_1_of_int(int,W) ) ).
tff(fact_48_number__of__is__id,axiom,
! [K: int] : ( number_number_of(int,K) = K ) ).
tff(fact_49_diff__eq__diff__eq,axiom,
! [A: $tType] :
( group_add(A)
=> ! [D1: A,C2: A,B1: A,A2: A] :
( ( minus_minus(A,A2,B1) = minus_minus(A,C2,D1) )
=> ( ( A2 = B1 )
<=> ( C2 = D1 ) ) ) ) ).
tff(fact_50_add__right__imp__eq,axiom,
! [A: $tType] :
( cancel_semigroup_add(A)
=> ! [C: A,A1: A,B: A] :
( ( plus_plus(A,B,A1) = plus_plus(A,C,A1) )
=> ( B = C ) ) ) ).
tff(fact_51_add__imp__eq,axiom,
! [A: $tType] :
( cancel146912293up_add(A)
=> ! [C: A,B: A,A1: A] :
( ( plus_plus(A,A1,B) = plus_plus(A,A1,C) )
=> ( B = C ) ) ) ).
tff(fact_52_add__left__imp__eq,axiom,
! [A: $tType] :
( cancel_semigroup_add(A)
=> ! [C: A,B: A,A1: A] :
( ( plus_plus(A,A1,B) = plus_plus(A,A1,C) )
=> ( B = C ) ) ) ).
tff(fact_53_minus__apply,axiom,
! [A: $tType,B2: $tType] :
( cl_Groups_Ominus(A)
=> ! [Xa: B2,B4: fun(B2,A),A4: fun(B2,A)] : ( aa(B2,A,minus_minus(fun(B2,A),A4,B4),Xa) = minus_minus(A,aa(B2,A,A4,Xa),aa(B2,A,B4,Xa)) ) ) ).
tff(fact_54_comm__semiring__1__class_Onormalizing__semiring__rules_I20_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [D: A,C: A,B: A,A1: A] : ( plus_plus(A,plus_plus(A,A1,B),plus_plus(A,C,D)) = plus_plus(A,plus_plus(A,A1,C),plus_plus(A,B,D)) ) ) ).
tff(fact_55_comm__semiring__1__class_Onormalizing__semiring__rules_I23_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [C: A,B: A,A1: A] : ( plus_plus(A,plus_plus(A,A1,B),C) = plus_plus(A,plus_plus(A,A1,C),B) ) ) ).
tff(fact_56_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
! [A: $tType] :
( ab_semigroup_add(A)
=> ! [C: A,B: A,A1: A] : ( plus_plus(A,plus_plus(A,A1,B),C) = plus_plus(A,A1,plus_plus(A,B,C)) ) ) ).
tff(fact_57_comm__semiring__1__class_Onormalizing__semiring__rules_I21_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [C: A,B: A,A1: A] : ( plus_plus(A,plus_plus(A,A1,B),C) = plus_plus(A,A1,plus_plus(A,B,C)) ) ) ).
tff(fact_58_add__diff__cancel,axiom,
! [A: $tType] :
( group_add(A)
=> ! [B: A,A1: A] : ( minus_minus(A,plus_plus(A,A1,B),B) = A1 ) ) ).
tff(fact_59_diff__add__cancel,axiom,
! [A: $tType] :
( group_add(A)
=> ! [B: A,A1: A] : ( plus_plus(A,minus_minus(A,A1,B),B) = A1 ) ) ).
tff(fact_60_comm__semiring__1__class_Onormalizing__semiring__rules_I25_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [D: A,C: A,A1: A] : ( plus_plus(A,A1,plus_plus(A,C,D)) = plus_plus(A,plus_plus(A,A1,C),D) ) ) ).
tff(fact_61_comm__semiring__1__class_Onormalizing__semiring__rules_I22_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [D: A,C: A,A1: A] : ( plus_plus(A,A1,plus_plus(A,C,D)) = plus_plus(A,C,plus_plus(A,A1,D)) ) ) ).
tff(fact_62_comm__semiring__1__class_Onormalizing__semiring__rules_I24_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [C: A,A1: A] : ( plus_plus(A,A1,C) = plus_plus(A,C,A1) ) ) ).
tff(fact_63_fun__diff__def,axiom,
! [B2: $tType,A: $tType] :
( cl_Groups_Ominus(B2)
=> ! [B4: fun(A,B2),A4: fun(A,B2),X3: A] : ( aa(A,B2,minus_minus(fun(A,B2),A4,B4),X3) = minus_minus(B2,aa(A,B2,A4,X3),aa(A,B2,B4,X3)) ) ) ).
tff(fact_64_crossproduct__eq,axiom,
! [A: $tType] :
( semiri456707255roduct(A)
=> ! [Z3: A,Xa: A,Ya: A,W1: A] :
( ( plus_plus(A,times_times(A,W1,Ya),times_times(A,Xa,Z3)) = plus_plus(A,times_times(A,W1,Z3),times_times(A,Xa,Ya)) )
<=> ( ( W1 = Xa )
| ( Ya = Z3 ) ) ) ) ).
tff(fact_65_comm__semiring__1__class_Onormalizing__semiring__rules_I1_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [B: A,M: A,A1: A] : ( plus_plus(A,times_times(A,A1,M),times_times(A,B,M)) = times_times(A,plus_plus(A,A1,B),M) ) ) ).
tff(fact_66_comm__semiring__1__class_Onormalizing__semiring__rules_I8_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [C: A,B: A,A1: A] : ( times_times(A,plus_plus(A,A1,B),C) = plus_plus(A,times_times(A,A1,C),times_times(A,B,C)) ) ) ).
tff(fact_67_crossproduct__noteq,axiom,
! [A: $tType] :
( semiri456707255roduct(A)
=> ! [D1: A,C2: A,B1: A,A2: A] :
( ( ( A2 != B1 )
& ( C2 != D1 ) )
<=> ( plus_plus(A,times_times(A,A2,C2),times_times(A,B1,D1)) != plus_plus(A,times_times(A,A2,D1),times_times(A,B1,C2)) ) ) ) ).
tff(fact_68_comm__semiring__1__class_Onormalizing__semiring__rules_I34_J,axiom,
! [A: $tType] :
( comm_semiring_1(A)
=> ! [Z: A,Y: A,X: A] : ( times_times(A,X,plus_plus(A,Y,Z)) = plus_plus(A,times_times(A,X,Y),times_times(A,X,Z)) ) ) ).
tff(fact_69_int__distrib_I3_J,axiom,
! [W: int,Z2: int,Z1: int] : ( times_times(int,minus_minus(int,Z1,Z2),W) = minus_minus(int,times_times(int,Z1,W),times_times(int,Z2,W)) ) ).
tff(fact_70_int__distrib_I4_J,axiom,
! [Z2: int,Z1: int,W: int] : ( times_times(int,W,minus_minus(int,Z1,Z2)) = minus_minus(int,times_times(int,W,Z1),times_times(int,W,Z2)) ) ).
tff(fact_71_int__distrib_I1_J,axiom,
! [W: int,Z2: int,Z1: int] : ( times_times(int,plus_plus(int,Z1,Z2),W) = plus_plus(int,times_times(int,Z1,W),times_times(int,Z2,W)) ) ).
tff(fact_72_int__distrib_I2_J,axiom,
! [Z2: int,Z1: int,W: int] : ( times_times(int,W,plus_plus(int,Z1,Z2)) = plus_plus(int,times_times(int,W,Z1),times_times(int,W,Z2)) ) ).
tff(fact_73_ext,axiom,
! [B2: $tType,A: $tType,G: fun(A,B2),F: fun(A,B2)] :
( ! [X2: A] : ( aa(A,B2,F,X2) = aa(A,B2,G,X2) )
=> ( F = G ) ) ).
tff(fact_74_mult__sum2sq,axiom,
! [Q: int,P1: int,B: int,A1: int] : ( times_times(int,twoSqu196287499sum2sq(product_Pair(int,int,A1,B)),twoSqu196287499sum2sq(product_Pair(int,int,P1,Q))) = twoSqu196287499sum2sq(product_Pair(int,int,plus_plus(int,times_times(int,A1,P1),times_times(int,B,Q)),minus_minus(int,times_times(int,A1,Q),times_times(int,B,P1)))) ) ).
tff(fact_75_split__paired__Ex,axiom,
! [A: $tType,B2: $tType,P: fun(product_prod(A,B2),bool)] :
( ? [X1: product_prod(A,B2)] : pp(aa(product_prod(A,B2),bool,P,X1))
<=> ? [A3: A,B3: B2] : pp(aa(product_prod(A,B2),bool,P,product_Pair(A,B2,A3,B3))) ) ).
tff(fact_76_eq__add__iff1,axiom,
! [A: $tType] :
( ring(A)
=> ! [D1: A,B1: A,C2: A,E1: A,A2: A] :
( ( plus_plus(A,times_times(A,A2,E1),C2) = plus_plus(A,times_times(A,B1,E1),D1) )
<=> ( plus_plus(A,times_times(A,minus_minus(A,A2,B1),E1),C2) = D1 ) ) ) ).
tff(fact_77_eq__add__iff2,axiom,
! [A: $tType] :
( ring(A)
=> ! [D1: A,B1: A,C2: A,E1: A,A2: A] :
( ( plus_plus(A,times_times(A,A2,E1),C2) = plus_plus(A,times_times(A,B1,E1),D1) )
<=> ( C2 = plus_plus(A,times_times(A,minus_minus(A,B1,A2),E1),D1) ) ) ) ).
tff(fact_78_mult__diff__mult,axiom,
! [A: $tType] :
( ring(A)
=> ! [B: A,A1: A,Y: A,X: A] : ( minus_minus(A,times_times(A,X,Y),times_times(A,A1,B)) = plus_plus(A,times_times(A,X,minus_minus(A,Y,B)),times_times(A,minus_minus(A,X,A1),B)) ) ) ).
tff(fact_79_square__diff__square__factored,axiom,
! [A: $tType] :
( comm_ring(A)
=> ! [Y: A,X: A] : ( minus_minus(A,times_times(A,X,X),times_times(A,Y,Y)) = times_times(A,plus_plus(A,X,Y),minus_minus(A,X,Y)) ) ) ).
tff(fact_80_combine__common__factor,axiom,
! [A: $tType] :
( semiring(A)
=> ! [C: A,B: A,E: A,A1: A] : ( plus_plus(A,times_times(A,A1,E),plus_plus(A,times_times(A,B,E),C)) = plus_plus(A,times_times(A,plus_plus(A,A1,B),E),C) ) ) ).
tff(fact_81_comm__semiring__class_Odistrib,axiom,
! [A: $tType] :
( comm_semiring(A)
=> ! [C: A,B: A,A1: A] : ( times_times(A,plus_plus(A,A1,B),C) = plus_plus(A,times_times(A,A1,C),times_times(A,B,C)) ) ) ).
tff(fact_82_add__diff__add,axiom,
! [A: $tType] :
( ab_group_add(A)
=> ! [D: A,B: A,C: A,A1: A] : ( minus_minus(A,plus_plus(A,A1,C),plus_plus(A,B,D)) = plus_plus(A,minus_minus(A,A1,B),minus_minus(A,C,D)) ) ) ).
tff(fact_83_xzgcda__linear__aux1,axiom,
! [N: int,D: int,C: int,M: int,B: int,R: int,A1: int] : ( plus_plus(int,times_times(int,minus_minus(int,A1,times_times(int,R,B)),M),times_times(int,minus_minus(int,C,times_times(int,R,D)),N)) = minus_minus(int,plus_plus(int,times_times(int,A1,M),times_times(int,C,N)),times_times(int,R,plus_plus(int,times_times(int,B,M),times_times(int,D,N)))) ) ).
tff(fact_84_prod_Orecs,axiom,
! [B2: $tType,A: $tType,C1: $tType,B1: C1,A2: B2,F1: fun(B2,fun(C1,A))] : ( product_prod_rec(B2,C1,A,F1,product_Pair(B2,C1,A2,B1)) = aa(C1,A,aa(B2,fun(C1,A),F1,A2),B1) ) ).
tff(fact_85_Int2_Oaux1,axiom,
! [C: int,B: int,A1: int] :
( ( minus_minus(int,A1,B) = C )
=> ( A1 = plus_plus(int,C,B) ) ) ).
tff(fact_86_add__number__of__diff2,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int,C: A,V: int] : ( plus_plus(A,number_number_of(A,V),minus_minus(A,C,number_number_of(A,W))) = plus_plus(A,number_number_of(A,plus_plus(int,V,uminus_uminus(int,W))),C) ) ) ).
tff(fact_87_neg__equal__iff__equal,axiom,
! [A: $tType] :
( group_add(A)
=> ! [B1: A,A2: A] :
( ( uminus_uminus(A,A2) = uminus_uminus(A,B1) )
<=> ( A2 = B1 ) ) ) ).
tff(fact_88_compl__eq__compl__iff,axiom,
! [A: $tType] :
( boolean_algebra(A)
=> ! [Ya: A,Xa: A] :
( ( uminus_uminus(A,Xa) = uminus_uminus(A,Ya) )
<=> ( Xa = Ya ) ) ) ).
tff(fact_89_minus__mult__minus,axiom,
! [A: $tType] :
( ring(A)
=> ! [B: A,A1: A] : ( times_times(A,uminus_uminus(A,A1),uminus_uminus(A,B)) = times_times(A,A1,B) ) ) ).
tff(fact_90_minus__add__distrib,axiom,
! [A: $tType] :
( ab_group_add(A)
=> ! [B: A,A1: A] : ( uminus_uminus(A,plus_plus(A,A1,B)) = plus_plus(A,uminus_uminus(A,A1),uminus_uminus(A,B)) ) ) ).
tff(fact_91_minus__diff__eq,axiom,
! [A: $tType] :
( group_add(A)
=> ! [B: A,A1: A] : ( uminus_uminus(A,minus_minus(A,A1,B)) = minus_minus(A,B,A1) ) ) ).
tff(fact_92_diff__minus__eq__add,axiom,
! [A: $tType] :
( group_add(A)
=> ! [B: A,A1: A] : ( minus_minus(A,A1,uminus_uminus(A,B)) = plus_plus(A,A1,B) ) ) ).
tff(fact_93_arith__simps_I30_J,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [W: int] : ( uminus_uminus(A,number_number_of(A,W)) = number_number_of(A,uminus_uminus(int,W)) ) ) ).
tff(fact_94_diff__int__def__symmetric,axiom,
! [W: int,Z: int] : ( plus_plus(int,Z,uminus_uminus(int,W)) = minus_minus(int,Z,W) ) ).
tff(fact_95_mult__Min,axiom,
! [K: int] : ( times_times(int,min,K) = uminus_uminus(int,K) ) ).
tff(fact_96_of__int__minus,axiom,
! [A: $tType] :
( ring_1(A)
=> ! [Z: int] : ( ring_1_of_int(A,uminus_uminus(int,Z)) = uminus_uminus(A,ring_1_of_int(A,Z)) ) ) ).
tff(fact_97_mult__minus1__right,axiom,
! [A: $tType] :
( number_ring(A)
=> ! [Z: A] : ( times_times(A,Z,number_number_of(A,min)) = uminus_uminus(A,Z) ) ) ).
%----Arities (21)
tff(arity_fun___Lattices_Oboolean__algebra,axiom,
! [T_1: $tType,T_2: $tType] :
( boolean_algebra(T_2)
=> boolean_algebra(fun(T_1,T_2)) ) ).
tff(arity_fun___Groups_Ominus,axiom,
! [T_1: $tType,T_2: $tType] :
( cl_Groups_Ominus(T_2)
=> cl_Groups_Ominus(fun(T_1,T_2)) ) ).
tff(arity_Int_Oint___Semiring__Normalization_Ocomm__semiring__1__cancel__crossproduct,axiom,
semiri456707255roduct(int) ).
tff(arity_Int_Oint___Groups_Ocancel__ab__semigroup__add,axiom,
cancel146912293up_add(int) ).
tff(arity_Int_Oint___Groups_Ocancel__semigroup__add,axiom,
cancel_semigroup_add(int) ).
tff(arity_Int_Oint___Groups_Oab__semigroup__mult,axiom,
ab_semigroup_mult(int) ).
tff(arity_Int_Oint___Groups_Oab__semigroup__add,axiom,
ab_semigroup_add(int) ).
tff(arity_Int_Oint___Rings_Ocomm__semiring__1,axiom,
comm_semiring_1(int) ).
tff(arity_Int_Oint___Rings_Ocomm__semiring,axiom,
comm_semiring(int) ).
tff(arity_Int_Oint___Groups_Oab__group__add,axiom,
ab_group_add(int) ).
tff(arity_Int_Oint___Groups_Ogroup__add,axiom,
group_add(int) ).
tff(arity_Int_Oint___Rings_Ocomm__ring,axiom,
comm_ring(int) ).
tff(arity_Int_Oint___Int_Oring__char__0,axiom,
ring_char_0(int) ).
tff(arity_Int_Oint___Int_Onumber__ring,axiom,
number_ring(int) ).
tff(arity_Int_Oint___Rings_Osemiring,axiom,
semiring(int) ).
tff(arity_Int_Oint___Rings_Oring__1,axiom,
ring_1(int) ).
tff(arity_Int_Oint___Groups_Ominus,axiom,
cl_Groups_Ominus(int) ).
tff(arity_Int_Oint___Rings_Oring,axiom,
ring(int) ).
tff(arity_Int_Oint___Int_Onumber,axiom,
number(int) ).
tff(arity_HOL_Obool___Lattices_Oboolean__algebra,axiom,
boolean_algebra(bool) ).
tff(arity_HOL_Obool___Groups_Ominus,axiom,
cl_Groups_Ominus(bool) ).
%----Helper facts (2)
tff(help_pp_1_1_U,axiom,
~ pp(fFalse) ).
tff(help_pp_2_1_U,axiom,
pp(fTrue) ).
%----Conjectures (3)
tff(conj_0,hypothesis,
twoSqu1567020053sum2sq(x) ).
tff(conj_1,hypothesis,
twoSqu1567020053sum2sq(y) ).
tff(conj_2,conjecture,
twoSqu1567020053sum2sq(times_times(int,x,y)) ).
%------------------------------------------------------------------------------