SURREALR

index · ← SURREALO · NUMBER11 →
:: The Ring of {C}onway Numbers in {M}izar
::  by Karol P\kak
:: 
:: Received December 12, 2023
:: Copyright (c) 2023-2026 Association of Mizar Users
::           (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.

environ

 vocabularies MCART_1, FACIRC_1, RELAT_1, TARSKI, XBOOLE_0, LFUZZY_0, EUCLID_3,
      PARTFUN1, SUBSET_1, XXREAL_0, ARYTM_3, FUNCT_1, ZFMISC_1, CARD_1,
      ORDINAL2, ORDINAL1, PBOOLE, MEMBER_1, ARROW, ZFREFLE1, VECTSP_1,
      ORDINAL4, ARYTM_1, FUNCOP_1, MATHMORP, GLIB_000, WAYBEL_3, COHSP_1,
      ORDINAL6, SURREAL0, SURREALO, SURREALR;
 notations TARSKI, XBOOLE_0, ZFMISC_1, XTUPLE_0, SUBSET_1, RELAT_1, FUNCT_1,
      RELSET_1, PBOOLE, ORDINAL1, PARTFUN1, FUNCOP_1, ORDINAL2, CARD_1,
      ORDINAL4, ORDINAL6, ORDINAL7, COHSP_1, SURREAL0, SURREALO;
 constructors PBOOLE, RELSET_1, NEWTON, AFINSQ_1, ORDINAL6, ORDINAL7, COHSP_1,
      SURREALO;
 registrations XBOOLE_0, RELAT_1, SUBSET_1, XTUPLE_0, ORDINAL1, ORDINAL3,
      FUNCT_1, NAT_1, ORDINAL6, FUNCOP_1, FOMODEL0, SURREAL0;
 requirements BOOLE, SUBSET, NUMERALS;
 definitions TARSKI, XBOOLE_0, RELAT_1, FUNCT_1, ORDINAL1, SURREAL0, SURREALO;
 equalities ORDINAL1, SURREAL0, SURREALO;
 expansions XTUPLE_0, SURREAL0, SURREALO;
 theorems RELAT_1, TARSKI, ZFMISC_1, FUNCT_1, XBOOLE_0, XBOOLE_1, XTUPLE_0,
      ORDINAL1, ORDINAL2, ORDINAL6, ORDINAL3, ORDINAL4, CARD_1, PARTFUN1,
      FUNCOP_1, ORDINAL7, COHSP_1, SURREAL0, SURREALO;
 schemes TARSKI, ORDINAL1, CLASSES1, XBOOLE_0, TARSKI_0;

begin :: Preliminaries

reserve A,B,C for Ordinal,
        o for object,
        x,y,z,t,r,l for Surreal,
        X,Y for set;

definition
  let f be Function;
  redefine attr f is Function-yielding means :Def1:  :: redefines Function-yielding (FUNCOP_1, definition)
    rng f is functional;
  compatibility
  proof
    thus f is Function-yielding implies rng f is functional
    proof
      assume A1:f is Function-yielding;
      let o;
      assume o in rng f;
      then ex x be object st x in dom f & f.x=o by FUNCT_1:def 3;
      hence thesis by A1;
    end;
    assume A2:rng f is functional;
    now let o;
    assume o in dom f;
    then f.o in rng f by FUNCT_1:def 3;
    hence f.o is Function by A2;
    end;
    hence thesis by FUNCOP_1:def 6;
  end;
end;

registration
  cluster c=-monotone Function-yielding for Sequence;
  existence
  proof
    take F={};
    for a, b being set st a in dom F & b in dom F & a c= b holds F.a c= F.b;
    hence thesis by COHSP_1:def 11;
  end;
end;

registration
  let f be c=-monotone Function;
  let X be set;
  cluster f|X -> c=-monotone;
  coherence
  proof
    for a, b being set st
      a in dom (f|X) & b in dom (f|X) & a c= b holds
    (f|X).a c= (f|X).b
    proof
      let a, b be set such that
      A1:a in dom (f|X) & b in dom (f|X) and
      A2: a c= b;
      a in dom f & b in dom f by A1, RELAT_1:57;
      then (f|X).a= f.a c= f.b by A1,A2,COHSP_1:def 11,FUNCT_1:47;
      hence thesis by A1,FUNCT_1:47;
    end;
    hence thesis by COHSP_1:def 11;
  end;
end;

registration
  let f be c=-monotone Function-yielding Sequence;
  cluster union rng f -> Function-like Relation-like;
  coherence
  proof
    set U = union rng f;
    U is Relation-like
    proof
      let x be object;assume x in U;
      then consider Y be set such that
      A1:x in Y & Y in rng f by TARSKI:def 4;
      consider X be object such that
      A2:  X in dom f & f.X=Y by A1,FUNCT_1:def 3;
      thus thesis by A1,A2,RELAT_1:def 1;
    end;
    then reconsider U as Relation;
    for x,y1,y2 be object st [x,y1] in U & [x,y2] in U holds y1 = y2
    proof
      let x,y1,y2 be object such that A3: [x,y1] in U & [x,y2] in U;
      consider Y1 be set such that
      A4:[x,y1] in Y1 & Y1 in rng f by A3,TARSKI:def 4;
      consider z1 be object such that
      A5:z1 in dom f & f.z1 = Y1 by FUNCT_1:def 3,A4;
      consider Y2 be set such that
      A6:[x,y2] in Y2 & Y2 in rng f by A3,TARSKI:def 4;
      consider z2 be object such that
      A7:z2 in dom f & f.z2 = Y2 by FUNCT_1:def 3,A6;
      reconsider z1,z2 as Ordinal by A5,A7;
      z1 c= z2 or z2 c= z1;
      then f.z1 c= f.z2 or f.z2 c= f.z1 by A5,A7,COHSP_1:def 11;
      hence y1=y2 by  FUNCT_1:def 1,A4,A6,A5,A7;
    end;
    hence thesis by FUNCT_1:def 1;
  end;
end;

theorem Th1:
  for f be c=-monotone Function-yielding Sequence
    for o be object st o in dom union rng f
      ex A st A in dom f & o in dom (f.A)
proof
  let f be c=-monotone Function-yielding Sequence;
  set U=union rng f;
  let x be object;
  assume x in dom U;
  then [x,U.x] in U by FUNCT_1:def 2;
  then consider Y be set such that
  A1:[x,U.x] in Y & Y in rng f by TARSKI:def 4;
  consider z be object such that
  A2:z in dom f & f.z = Y by FUNCT_1:def 3,A1;
  reconsider z as Ordinal by A2;
  take z;
  thus thesis by A2,A1,FUNCT_1:1;
end;

theorem Th2:
  for f be c=-monotone Function-yielding Sequence
    for A st A in dom f holds
      dom (f.A) c= dom union rng f &
  for o st o in dom (f.A) holds (f.A).o = (union rng f).o
proof
  let f be c=-monotone Function-yielding Sequence;
  set U=union rng f;
  let A be Ordinal such that A1: A in dom f;
  A2: f.A in rng f by A1,FUNCT_1:def 3;
  thus dom (f.A) c= dom U
  proof
    let y be object;
    assume y in dom (f.A);
    then [y,f.A.y] in f.A by FUNCT_1:def 2;
    then [y,f.A.y] in U by A2,TARSKI:def 4;
    hence thesis by FUNCT_1:1;
  end;
  let y be object;
  assume y in dom (f.A);
  then [y,f.A.y] in f.A by FUNCT_1:def 2;
  then [y,f.A.y] in U by A2,TARSKI:def 4;
  hence thesis by FUNCT_1:1;
end;

theorem Th3:
  for f be c=-monotone Function-yielding Sequence
    for A be Ordinal,X be set st
        for o st o in X ex B be Ordinal st o in dom (f.B) & B in A
       holds
    (union rng (f|A)).:X = (union rng f).:X
proof
  let f be c=-monotone Function-yielding Sequence;
  let A be Ordinal,X be set such that
  A1:for x be object st x in X ex B be Ordinal st x in dom (f.B) & B in A;
  union rng (f|A) c= union rng f by ZFMISC_1:77;
  hence (union rng (f|A)).:X c= (union rng f).:X by RELAT_1:124;
  let y be object such that A2:y in (union rng f).:X;
  consider x be object such that
  A3: x in dom (union rng f) & x in X & (union rng f).x=y
    by A2,FUNCT_1:def 6;
  consider B be Ordinal such that
  A4:  x in dom (f.B) & B in A by A3,A1;
  A5: f.B<>{} by A4;
  then B in dom f by FUNCT_1:def 2;
  then A6: (f.B).x = (union rng f).x by A4,Th2;
  A7:(f|A).B = f.B by A4,FUNCT_1:49;
  then A8: B in dom (f|A) by A5,FUNCT_1:def 2;
  then A9: dom ((f|A).B) c= dom union rng (f|A) by Th2;
  y = (union rng (f|A)).x by A8,Th2,A7,A4,A3,A6;
  hence thesis by A9,A7,A4,A3,FUNCT_1:def 6;
end;

begin :: Surreal Number Operators - Schemes

scheme MonoFvSExists{
        O()->Ordinal,
        D(Ordinal) -> set,
        H(object,c=-monotone Function-yielding Sequence)->object}:
  ex S be c=-monotone Function-yielding Sequence
     st dom S = succ O() &
       for A be Ordinal st A in succ O()
         ex SA be ManySortedSet of D(A) st S.A = SA &
           for o st o in D(A) holds SA.o = H(o,S|A)
provided
A1: for S be c=-monotone Function-yielding Sequence st
      for A be Ordinal st A in dom S holds dom (S.A) = D(A)
        for A be Ordinal,o st o in dom (S.A) holds H(o,S|A) = H(o,S)
and
A2: for A,B be Ordinal st A c= B holds D(A) c= D(B)
proof
  defpred P[Ordinal] means
    ex S be c=-monotone Function-yielding Sequence
     st dom S = succ $1 &
       for B be Ordinal st B in succ $1
         ex fB be ManySortedSet of D(B) st S.B = fB &
          for x be object st x in D(B) holds fB.x = H(x,S|B);
  A3: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A4: for C be Ordinal st C in D holds P[C];
    defpred R[object,object] means
      $1 is Ordinal & $2 is c=-monotone Function-yielding Sequence
      & for A be Ordinal st A=$1
      for S be c=-monotone Function-yielding Sequence st $2=S holds
      dom S = succ A &
      for B be Ordinal st B in succ A
      ex fB be ManySortedSet of D(B) st S.B = fB &
      for x be object st x in D(B) holds fB.x = H(x,S|B);
    A5:for e being object st e in D ex u being object st R[e,u]
    proof
      let e be object;
      assume A6: e in D;
      then reconsider E=e as Ordinal;
      consider S be c=-monotone Function-yielding Sequence such that
      A7: dom S = succ E &
      for B be Ordinal st B in succ E
      ex fB be ManySortedSet of D(B) st S.B = fB &
      for x be object st x in D(B) holds fB.x = H(x,S|B) by A4,A6;
      take S;
      thus thesis by A7;
    end;
    consider f be Function such that
    A8:dom f = D and
    A9:for e being object st e in D holds R[e,f.e] from CLASSES1:sch 1(A5);
    reconsider f as Sequence by A8,ORDINAL1:def 7;
    A10: for A,B be Ordinal st A c= B & A in D & B in D holds f.A c= f.B
    proof
      let A,B be Ordinal such that
      A11: A c= B & A in D & B in D;
      A in succ B by A11,ORDINAL1:22;
      then A12: succ A c= succ B by ORDINAL1:21;
      reconsider fA=f.A,fB=f.B as c=-monotone Function-yielding Sequence
      by A11,A9;
      A13:dom fA = succ A by A9,A11;
      A14:dom fB = succ B by A9,A11;
      A15:for C be Ordinal st C in succ B
      ex fC be ManySortedSet of D(C) st fB.C = fC &
      for x be object st x in D(C) holds fC.x = H(x,fB|C) by A9,A11;
      let x be object such that A16:x in f.A;
      x in fA by A16;
      then consider a,z be object such that
      A17: x = [a,z] by RELAT_1:def 1;
      A18: a in dom fA & fA.a = z by A17,FUNCT_1:1,A16;
      then reconsider a as Ordinal;
      defpred O[Ordinal] means $1 c= a implies fA.$1 = fB.$1;
      A19: for F be Ordinal st for G be Ordinal st G in F holds O[G] holds O[F]
      proof
        let F be Ordinal such that A20: for G be Ordinal st G in F holds O[G];
        assume A21: F c= a;
        then A22: F in dom fA by A17,FUNCT_1:1,A16,ORDINAL1:12;
        then consider fCF be ManySortedSet of D(F) such that
        A23: fA.F = fCF and
        A24: for x be object st x in D(F) holds fCF.x = H(x,fA|F)
          by A13,A9,A11;
        consider fBF be ManySortedSet of D(F) such that
        A25: fB.F = fBF and
        A26: for x be object st x in D(F) holds fBF.x = H(x,fB|F)
        by A15,A12,A21,A13,A18,ORDINAL1:12;
        A27: dom (fA|F) = F = dom (fB|F)
        by RELAT_1:62,A22,A12,A13,A14,ORDINAL1:def 2;
        for x be object st x in F holds (fA|F).x = (fB|F).x
        proof
          let x be object such that A28: x in F;
          reconsider x as Ordinal by A28;
          (fA|F).x = fA.x by A28,FUNCT_1:49
          .=fB.x by A20,A28,A21,ORDINAL1:def 2;
        hence thesis by  A28,FUNCT_1:49;
      end;
      then A29:  fA|F = fB|F by A27,FUNCT_1:2;
      A30: dom fCF = D(F) = dom fBF by PARTFUN1:def 2;
      for x be object st x in D(F) holds fCF.x = fBF.x
      proof
        let x be object such that A31: x in D(F);
        fCF.x = H(x,fA|F) by A31,A24;
        hence thesis by A31,A26,A29;
      end;
      hence thesis by A23,A25,A30,FUNCT_1:2;
    end;
    for D be Ordinal holds O[D] from ORDINAL1:sch 2(A19);
    then fA.a = fB.a;
    hence thesis by A12,A18,A13,A14,FUNCT_1:1,A17;
  end;
  A32: for A,B be set st A in D & B in D & A c= B holds
    f.A c= f.B by A10;
  for x be object st x in rng f holds x is Function
  proof
    let x be object;
    assume x in rng f;
    then ex y be object st y in dom f & f.y = x by FUNCT_1:def 3;
    hence thesis by A8,A9;
  end;
  then reconsider f as c=-monotone Function-yielding Sequence
  by A32,Def1,A8,COHSP_1:def 11,FUNCT_1:def 13;
  A33:for x,y being set st x in rng f & y in rng f holds x,y are_c=-comparable
  proof
    let x,y be set such that A34:x in rng f & y in rng f;
    consider A be object such that
    A35: A in dom f & f.A =x by A34,FUNCT_1:def 3;
    consider B be object such that
    A36: B in dom f & f.B =y by A34,FUNCT_1:def 3;
    reconsider A,B as Ordinal by A35,A36;
    A c= B or B c= A;
    then f.A c= f.B or f.B c= f.A by A10,A35,A36,A8;
    hence thesis by A35,A36,XBOOLE_0:def 9;
  end;
  A37: for x be object st x in rng f holds x is Sequence
  proof
    let x be object;
    assume x in rng f;
    then ex y be object st y in dom f & f.y = x by FUNCT_1:def 3;
    hence thesis by A8,A9;
  end;
  reconsider U = union rng f as Sequence by A33,A37,ORDINAL1:def 8,34;
  A38: for x be object st x in rng U holds x is Function
  proof
    let x be object;
    assume x in rng U;
    then consider y be object such that
    A39:y in dom U & U.y = x by FUNCT_1:def 3;
    consider A be Ordinal such that
    A40:    A in dom f & y in dom (f.A) by Th1,A39;
    A41: (f.A).y = U.y by A40,Th2;
    reconsider fA=f.A as c=-monotone Function-yielding Sequence by A40,A8,A9;
    dom fA = succ A by A8,A9,A40;
    then reconsider y as Ordinal by A40;
    for y be Ordinal st y in succ A
      ex fC be ManySortedSet of D(y) st fA.y = fC &
        for x be object st x in D(y) holds fC.x = H(x,fA|y) by A8,A9,A40;
    hence thesis by A41,A39;
  end;
  then A42:rng U is functional by FUNCT_1:def 13;
  A43:U is Function-yielding by A38,FUNCT_1:def 13;
  A44: for a, b being set st a in dom U & b in dom U & a c= b holds U.a c= U.b
  proof
    let a,b be set such that A45:a in dom U & b in dom U & a c= b;
    consider A be Ordinal such that
    A46:A in dom f & a in dom (f.A) by Th1,A45;
    consider B be Ordinal such that
    A47:B in dom f & b in dom (f.B) by Th1,A45;
    reconsider fA=f.A,fB=f.B as c=-monotone Function-yielding Sequence
    by A46,A47,A8,A9;
    A48: (f.B).b = U.b & (f.A).a = U.a by A46,A47,Th2;
    per cases;
    suppose B c= A;
      then A49: fB c= fA by A10,A46,A47,A8;
      [b,fB.b] in fB by A47,FUNCT_1:1;
      then b in dom fA & fA.b = fB.b by A49,FUNCT_1:1;
      hence thesis by A48,COHSP_1:def 11,A45,A46;
    end;
    suppose A c= B;
      then A50: fA c= fB by A10,A46,A47,A8;
      [a,fA.a] in fA by A46,FUNCT_1:1;
      then a in dom fB & fB.a = fA.a by A50,FUNCT_1:1;
      hence thesis by A45,A47,A48,COHSP_1:def 11;
    end;
  end;
  then reconsider U as c=-monotone Function-yielding Sequence
    by A43,COHSP_1:def 11;
  A51: for A be Ordinal st A in dom U holds dom (U.A) = D(A)
  proof
    let y be Ordinal such that A52:  y in dom U;
    consider A be Ordinal such that
    A53:A in dom f & y in dom (f.A) by Th1,A52;
    A54:(f.A).y = U.y by A53,Th2;
    reconsider fA=f.A as c=-monotone Function-yielding Sequence by A53,A8,A9;
    A55: dom fA = succ A by A8,A9,A53;
    reconsider y as Ordinal;
    ex fC be ManySortedSet of D(y) st fA.y = fC &
    for x be object st x in D(y) holds fC.x = H(x,fA|y) by A55,A8,A9,A53;
    hence thesis by A54,PARTFUN1:def 2;
  end;
  A56: dom U c= D
  proof
    let a be Ordinal such that A57:a in dom U;
    consider A be Ordinal such that
    A58:A in dom f & a in dom (f.A) by Th1,A57;
    reconsider fA=f.A as c=-monotone Function-yielding Sequence by A58,A8,A9;
    A59:dom fA = succ A by A8,A9,A58;
    succ A c= D by A58,A8,ORDINAL1:21;
    hence a in D by A58,A59;
  end;
  A60: D c= dom U
  proof
    let A be Ordinal such that A61:A in D;
    reconsider fA=f.A as c=-monotone Function-yielding Sequence by A61,A9;
    dom fA = succ A &
    for B be Ordinal st B in succ A
    ex fB be ManySortedSet of D(B) st fA.B = fB &
    for x be object st x in D(B) holds fB.x = H(x,fA|B) by A61,A9;
    then succ A c= dom U by Th2,A61,A8;
    hence thesis by ORDINAL1:21;
  end;
  then A62: D = dom U by A56,XBOOLE_0:def 10;
  set UU = union rng U;
  defpred S[object,object] means
  ($1 in dom UU implies $2=UU.$1) &
  (not $1 in dom UU implies $2=H($1,U));
  A63:  for e being object st e in D(D) ex u being object st S[e,u]
  proof
    let e be object;
    e in dom UU or not e in dom UU;
    hence thesis;
  end;
  consider d be Function such that
  A64:dom d = D(D) and
  A65:for e being object st e in D(D) holds S[e,d.e] from CLASSES1:sch 1(A63);
  reconsider d as ManySortedSet of D(D) by PARTFUN1:def 2,A64,RELAT_1:def 18;
  set d1=1-->d, U1=U ^ d1;
  A66: dom d1 = 1;
  then A67: dom U1 = D +^ 1 = succ D by A62,ORDINAL4:def 1,ORDINAL2:31;
  A68: rng U \/ {d} is functional by A42;
  0 in 1 by TARSKI:def 1,CARD_1:49;
  then A69: U1.(D +^ 0) = d1.0 = d by A66,A62,ORDINAL4:def 1,FUNCOP_1:7;
  rng d1 = {d} by FUNCOP_1:8;
  then A70: U1 is Function-yielding by A68,ORDINAL4:2;
  for A,B be set st A in dom U1 & B in dom U1  & A c= B holds
  U1.A c= U1.B
  proof
    let A,B be set such that A71: A in dom U1 & B in dom U1  & A c= B;
    reconsider A,B as Ordinal by A71;
    per cases by A67,A71,ORDINAL1:8;
    suppose A72: A in D & B in D;
      then U1.A = U.A & U1.B = U.B by ORDINAL4:def 1,A60;
      hence thesis by A44,A60,A71,A72;
    end;
    suppose A73: A in D & B = D;
      then A74:U1.A = U.A & U1.B = d by ORDINAL2:27,A69,ORDINAL4:def 1,A60;
      consider E be Ordinal such that
      A75:E in dom f & A in dom (f.E) by Th1,A73,A60;
      reconsider fE=f.E as c=-monotone Function-yielding Sequence by A75,A8,A9;
      dom fE = succ E by A8,A9,A75;
      then consider fC be ManySortedSet of D(A) such that
      A76: fE.A = fC and
      for x be object st x in D(A) holds fC.x = H(x,fE|A) by A8,A9,A75;
      A77: fC = U.A by A76,A75,Th2;
      U.A c= d
      proof
        let x,y be object such that A78: [x,y] in U.A;
        A79: dom fC = D(A) by PARTFUN1:def 2;
        A80: x in dom fC & fC.x = y by A77,A78,FUNCT_1:1;
        A81: D(A) c= D(D) by A2,A73,ORDINAL1:def 2;
        dom fC c= dom UU by A77,Th2,A60,A73;
        then d.x = UU.x by A80,A65,A79,A81;
        hence thesis by A80,A77,Th2,A60,A73,FUNCT_1:1,A81,A79,A64;
      end;
      hence thesis by A74;
    end;
    suppose A = D & B in D;
      hence thesis by A71, ORDINAL1:12;
    end;
    suppose A = D & B = D;
      hence thesis;
    end;
  end;
  then reconsider U1 as c=-monotone Function-yielding Sequence
  by A70,COHSP_1:def 11;
  take U1;
  thus dom U1 = succ D by A67;
  let B be Ordinal such that A82: B in succ D;
  A83:dom U = dom U1 /\ dom U by A62,A67,XBOOLE_1:7,28;
  for x being object st x in dom U holds U.x = U1.x
  by ORDINAL4:def 1;
  then A84: U = U1|D by A62,A83,FUNCT_1:46;
  per cases by A82,ORDINAL1:8;
  suppose A85:B in D;
    consider E be Ordinal such that
    A86:E in dom f & B in dom (f.E) by Th1,A85,A60;
    reconsider fE=f.E as c=-monotone Function-yielding Sequence by A86,A8,A9;
    dom fE = succ E by A8,A9,A86;
    then consider fC be ManySortedSet of D(B) such that
    A87: fE.B = fC and
    A88: for x be object st x in D(B) holds fC.x = H(x,fE|B) by A8,A9,A86;
    A89: fC = U.B by A87,A86,Th2;
    take fC;
    thus fC = U1.B by A85,ORDINAL4:def 1,A60,A89;
    f.E in rng f by A86,FUNCT_1:def 3;
    then f.E c= U by ZFMISC_1:74;
    then A90: fE|B tolerates U|B by RELAT_1:76,PARTFUN1:54;
    dom (fE|B)= B & dom (U|B)=B by A86,A85,ORDINAL1:def 2,A60,RELAT_1:62;
    then A91: fE|B = U|B by A90,PARTFUN1:55;
    let x be object such that A92:x in D(B);
    U1|B = U1|D|B by A85,ORDINAL1:def 2,RELAT_1:74;
    hence fC.x = H(x,U1|B) by A84,A88,A92,A91;
  end;
  suppose A93:B=D;
    then reconsider dB=d as ManySortedSet of D(B);
    take dB;
    thus dB = U1.B by ORDINAL2:27,A69,A93;
    let x be object;
    assume A94: x in D(B);
    per cases;
    suppose A95: x in dom UU;
      then A96: d.x = UU.x by A65,A93,A94;
      consider A be Ordinal such that
      A97: A in dom U & x in dom (U.A) by A95,Th1;
      consider E be Ordinal such that
      A98:E in dom f & A in dom (f.E) by A97,Th1;
      reconsider fE=f.E as c=-monotone Function-yielding Sequence by A98,A8,A9;
      dom fE = succ E by A8,A9,A98;
      then consider fC be ManySortedSet of D(A) such that
      A99: fE.A = fC and
      A100: for x be object st x in D(A) holds fC.x = H(x,fE|A) by A8,A9,A98;
      A101: dom fC =D(A) by PARTFUN1:def 2;
      A102: fC = U.A by A99,A98,Th2;
      then A103: fC.x = H(x,fE|A) by A97,A101,A100;
      f.E in rng f by A98,FUNCT_1:def 3;
      then  A104: fE|A c= U|A by RELAT_1:76,ZFMISC_1:74;
      dom (fE|A)= A & dom (U|A)=A by RELAT_1:62,A98,A97,ORDINAL1:def 2;
      then fC.x = H(x,U|A) by A103,A104,PARTFUN1:54,55;
      then  fC.x = H(x,U1|D) by A84,A51,A1,A97;
      hence dB.x = H(x,U1|B) by A96,A102,A97,Th2,A93;
    end;
    suppose not x in dom UU;
      hence dB.x = H(x,U1|B) by A94,A65,A93,A84;
    end;
  end;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A3);
  hence thesis;
end;

scheme MonoFvSUniq{
        O()->Ordinal,
        D(Ordinal) -> set,
        S1,S2() -> c=-monotone Function-yielding Sequence,
        H(object,c=-monotone Function-yielding Sequence)->object}:
S1()|O() = S2()|O()
provided
A1: O() c= dom S1() & O() c= dom S2() and
A2: for A be Ordinal st A in O()
    ex SA be ManySortedSet of D(A) st S1().A = SA &
        for o st o in D(A) holds SA.o = H(o,S1()|A) and
A3: for A be Ordinal st A in O()
    ex SA be ManySortedSet of D(A) st S2().A = SA &
        for o st o in D(A) holds SA.o = H(o,S2()|A)
proof
  defpred O[Ordinal] means $1 in O() implies S1().$1 = S2().$1;
  A4: for F be Ordinal st for G be Ordinal st G in F holds O[G] holds O[F]
  proof
    let B be Ordinal such that A5: for G be Ordinal st G in B holds O[G];
    assume A6: B in O();
    then consider S1B be ManySortedSet of D(B) such that
    A7: S1().B = S1B &
      for x be object st x in D(B) holds S1B.x = H(x,S1()|B) by A2;
    consider S2B be ManySortedSet of D(B) such that
    A8:S2().B = S2B &
      for x be object st x in D(B) holds S2B.x = H(x,S2()|B) by A3,A6;
    A9:dom S1B = D(B) = dom S2B by PARTFUN1:def 2;
    for x be object st x in D(B) holds S1B.x=S2B.x
    proof
      let x be object such that A10: x in D(B);
      S1B<>{} & S2B<>{} by A10,A9;
      then
      B in dom S1() & B in dom S2() by A7,A8,FUNCT_1:def 2;
      then A11: dom (S1()|B)=B =dom (S2()|B)
      by RELAT_1:62,ORDINAL1:def 2;
      for y be object st y in B holds (S1()|B).y=(S2()|B).y
      proof
        let y be object;
        assume A12:y in B;
        then reconsider Y=y as Ordinal;
        A13:Y in O() by A12,A6,ORDINAL1:10;
        thus (S1()|B).y = S1().Y by A12,FUNCT_1:49
        .= S2().Y by A12,A5,A13
        .=(S2()|B).y by A12,FUNCT_1:49;
      end;
      then A14: S1()|B = S2()|B by A11,FUNCT_1:2;
      S1B.x = H(x,S1()|B) by A10,A7;
      hence thesis by A14,A10,A8;
    end;
    hence thesis by A7,A8,A9,FUNCT_1:2;
  end;
  A15:for F be Ordinal holds O[F] from ORDINAL1:sch 2(A4);
  A16: dom (S1()|O())=O() =dom (S2()|O()) by A1,RELAT_1:62;
  for y be object st y in O() holds (S1()|O()).y=(S2()|O()).y
  proof
    let y be object;
    assume A17:y in O();
    then reconsider Y=y as Ordinal;
    thus (S1()|O()).y = S1().Y by A17,FUNCT_1:49
    .= S2().Y by A17,A15
    .=(S2()|O()).y by A17,FUNCT_1:49;
  end;
  hence thesis by A16,FUNCT_1:2;
end;

begin :: The Opposite Surreal Number

definition
  let A;
  func No_opposite_op A -> ManySortedSet of Day A means :Def2:
    ex S be c=-monotone Function-yielding Sequence st
      dom S = succ A & it = S.A &
      for B st B in succ A
         ex SB be ManySortedSet of Day B st S.B = SB &
           for o st o in Day B holds
             SB.o = [union rng (S|B).:R_o, union rng(S|B).:L_o];
  existence
  proof
    deffunc D(Ordinal) = Day $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
      [(union rng $2).:R_$1, (union rng $2).:L_$1];
      A1: for S be c=-monotone Function-yielding Sequence st
      for A be Ordinal st A in dom S holds dom (S.A) = D(A) holds
      for A be Ordinal,x be object st x in dom (S.A) holds H(x,S|A) = H(x,S)
    proof
      let S be c=-monotone Function-yielding Sequence such that
      A2: for A be Ordinal st A in dom S holds dom (S.A) = D(A);
      let A be Ordinal,x be object such that A3: x in dom (S.A);
      S.A<>{} by A3;
      then A4: A in dom S by FUNCT_1:def 2;
      then A5:dom (S.A) = D(A) by A2;
      then reconsider x as Surreal by A3;
      A6:x = [L_x,R_x];
      A7:for y be object st y in L_x\/R_x ex B be Ordinal st
      y in dom (S.B) & B in A
      proof
        let y be object;
        assume y in L_x\/R_x;
        then consider O be Ordinal such that
        A8: O in A & y in Day O by A5,A3,A6,SURREAL0:46;
        dom (S.O) = Day O by A2,A4,A8,ORDINAL1:10;
        hence thesis by A8;
      end;
      A9: now let y be object;
        assume y in L_x;
        then y in L_x \/ R_x by XBOOLE_0:def 3;
        hence ex B be Ordinal st y in dom (S.B) & B in A by A7;
      end;
      now let y be object;
        assume y in R_x;
        then y in L_x \/ R_x by XBOOLE_0:def 3;
        hence ex B be Ordinal st y in dom (S.B) & B in A by A7;
      end;
      then(union rng (S|A)).:R_x = (union rng S).:R_x by Th3;
      hence thesis by A9,Th3;
    end;
    A10: for A,B be Ordinal st A c= B holds D(A) c= D(B) by SURREAL0:35;
    consider S be c=-monotone Function-yielding Sequence such that
    A11: dom S = succ A & for B be Ordinal st B in succ A
      ex SB be ManySortedSet of D(B) st S.B = SB &
        for x be object st x in D(B) holds SB.x = H(x,S|B)
    from MonoFvSExists(A1,A10);
    A in succ A by ORDINAL1:8;
    then consider SB be ManySortedSet of D(A) such that
    A12: S.A = SB &
    for x be object st x in D(A) holds SB.x = H(x,S|A) by A11;
    take SB,S;
    thus thesis by A11,A12;
  end;
  uniqueness
  proof
    deffunc D(Ordinal) = Day $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
    [(union rng $2).:R_$1, (union rng $2).:L_$1];
    let O1,O2 be  ManySortedSet of D(A);
    given S1 be c=-monotone Function-yielding Sequence such that
    A13:dom S1 = succ A & S1.A = O1 &
    for B be Ordinal st B in succ A
         ex SB be ManySortedSet of D(B) st S1.B = SB &
           for x be object st x in D(B) holds
             SB.x = H(x,S1|B);
    given S2 be c=-monotone Function-yielding Sequence such that
    A14:dom S2 = succ A & S2.A = O2 &
    for B be Ordinal st B in succ A
         ex SB be ManySortedSet of D(B) st S2.B = SB &
           for x be object st x in D(B) holds
             SB.x = H(x,S2|B);
    A15: for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S1.B = SB &
        for x be object st x in D(B) holds SB.x = H(x,S1|B) by A13;
    A16: for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S2.B = SB &
        for x be object st x in D(B) holds SB.x = H(x,S2|B) by A14;
    A17: succ A c= dom S1 & succ A c= dom S2 by A13,A14;
    S1|succ A = S2|succ A from MonoFvSUniq(A17,A15,A16);
    then S1 = S2|succ A by A13;
    hence thesis by A13,A14;
  end;
end;

theorem Th4:
  for S be c=-monotone Function-yielding Sequence st
    for B st B in dom S
      ex SB be ManySortedSet of Day B st S.B = SB &
         for o st o in Day B holds
           SB.o = [union rng (S|B).:R_o, union rng(S|B).:L_o]
    holds
  for A st A in dom S holds No_opposite_op A = S.A
proof
  deffunc D(Ordinal) = Day $1;
  deffunc H(object,c=-monotone Function-yielding Sequence) =
         [(union rng $2).:R_$1, (union rng $2).:L_$1];
  let S1 be c=-monotone Function-yielding Sequence such that
  A1:for B be Ordinal st B in dom S1
       ex SB be ManySortedSet of D(B) st S1.B = SB &
         for x be object st x in D(B) holds SB.x = H(x,S1|B);
  let A be Ordinal such that A2: A in dom S1;
  A3:succ A c= dom S1 by A2,ORDINAL1:21;
  consider S2 be c=-monotone Function-yielding Sequence such that
  A4:dom S2 = succ A & S2.A = No_opposite_op A &
      for B be Ordinal st B in succ A
         ex SB be ManySortedSet of D(B) st S2.B = SB &
           for x be object st x in D(B) holds
             SB.x = H(x,S2|B) by Def2;
  A5: for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S1.B = SB &
        for x be object st x in D(B) holds SB.x = H(x,S1|B) by A1,A3;
  A6: for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S2.B = SB &
      for x be object st x in D(B) holds SB.x = H(x,S2|B) by A4;
  A7: succ A c= dom S1 & succ A c= dom S2 by A2,ORDINAL1:21,A4;
  A8: S1|succ A = S2|succ A from MonoFvSUniq(A7,A5,A6);
  A in succ A by ORDINAL1:8;
  hence thesis by A4,A8,FUNCT_1:49;
end;

theorem  Th5:
  for f be c=-monotone Function-yielding Sequence st
     o in dom (f.B) & B in A
  holds
    o in dom union rng (f|A) &
    (union rng (f|A)).o = (union rng f).o
proof
  let f be c=-monotone Function-yielding Sequence;
  assume A1:o in dom (f.B) & B in A;
  A2: f.B<>{} by A1;
  then B in dom f by FUNCT_1:def 2;
  then A3: (f.B).o = (union rng f).o by A1,Th2;
  A4:(f|A).B = f.B by A1,FUNCT_1:49;
  then A5: B in dom (f|A) by A2,FUNCT_1:def 2;
  then dom ((f|A).B) c= dom union rng (f|A) by Th2;
  hence thesis by A3,A4,A5,Th2,A1;
end;

theorem Th6:
  for f be c=-monotone Function-yielding Sequence
    for A,B be Ordinal st o in dom (f.B) & B in A
        holds
     (union rng (f|A)).o = (union rng f).o
proof
  let f be c=-monotone Function-yielding Sequence;
  let  A,B be Ordinal such that
  A1: o in dom (f.B) & B in A;
  A2: f.B<>{} by A1;
  then B in dom f by FUNCT_1:def 2;
  then A3: (f.B).o = (union rng f).o by A1,Th2;
  A4:(f|A).B = f.B by A1,FUNCT_1:49;
  (f|A).B = f.B by A1,FUNCT_1:49;
  then  B in dom (f|A) by A2,FUNCT_1:def 2;
  hence thesis by A4,A3,Th2,A1;
end;

definition
  let x;
  func -x -> set equals
    (No_opposite_op born x).x;
  coherence;
end;

definition
  let X be set;
  func --X -> set means :Def4:
    o in it iff ex x be Surreal st x in X & o = -x;
  existence
  proof
    defpred P[object,object] means $1 is Surreal &
      for x be Surreal st x=$1 holds $2=-x;
    A1:for x,y,z being object st P[x,y] & P[x,z] holds y = z
    proof
      let x,y,z be object such that A2:P[x,y] & P[x,z];
      reconsider xx=x as Surreal by A2;
      y = -xx = z by A2;
      hence thesis;
    end;
    consider M be set such that
    A3:for x being object holds x in M iff
      ex y being object st y in X & P[y,x] from TARSKI:sch 1(A1);
    take M;
    let y be object;
    thus y in M implies ex x be Surreal st x in X & y = -x
    proof
      assume y in M;
      then consider yy be object such that A4: yy in X & P[yy,y] by A3;
      reconsider yy as Surreal by A4;
      take yy;
      thus thesis by A4;
    end;
    given x be Surreal such that A5:x in X & y = -x;
    P[x,y] by A5;
    hence thesis by A5,A3;
  end;
  uniqueness
  proof
    let M1,M2 be set such that
    A6:for y be object holds
    y in M1 iff ex x be Surreal st x in X & y = -x and
    A7: for y be object holds
    y in M2 iff ex x be Surreal st x in X & y = -x;
    now let y be object;
      y in M1 iff ex x be Surreal st x in X & y = -x by A6;
      hence y in M1 iff y in M2 by A7;
    end;
    hence thesis by TARSKI:2;
  end;
end;

theorem Th7:
  -x = [-- R_x, --L_x]
proof
  set A= born x;
  consider S be c=-monotone Function-yielding Sequence such that
  A1:dom S = succ A & No_opposite_op A = S.A and
  A2:for B be Ordinal st B in succ A
         ex SB be ManySortedSet of Day B st S.B = SB &
           for x be object st x in Day B holds
             SB.x = [union rng (S|B).:R_x, union rng(S|B).:L_x] by Def2;
  consider SA be ManySortedSet of Day A such that
  A3:S.A = SA and
  A4:for x be object st x in Day A holds
       SA.x = [union rng (S|A).:R_x, union rng(S|A).:L_x]
       by A2,ORDINAL1:6;
  set U = union rng (S|A);
  x in Day A by SURREAL0:def 18;
  then A5: [U.:R_x, U.:L_x] = -x by A1,A3,A4;
  A6: -- R_x c= U.:R_x
  proof
    let y be object such that A7: y in -- R_x;
    consider a be Surreal such that
    A8:a in R_x & y = -a by Def4,A7;
    set B = born a;
    A9:  a in L_x\/ R_x by A8,XBOOLE_0:def 3;
    then A10: B in A by SURREALO:1;
    A11:B in succ A by A9,SURREALO:1,ORDINAL1:8;
    then consider SB be ManySortedSet of Day B such that
    A12:S.B = SB and
    for x be object st x in Day B holds
    SB.x = [union rng (S|B).:R_x, union rng(S|B).:L_x] by A2;
    A13:No_opposite_op B = S.B by A11,A1,A2,Th4;
    A14: dom SB = Day B by PARTFUN1:def 2;
    A15: a in Day B by SURREAL0:def 18;
    A16:SB.a = (union rng S).a by Th2,A12,A14,A15,A11,A1;
    (union rng S).a = U.a & a in dom U
    by Th5,A10,A14,A15,A12;
    hence thesis by FUNCT_1:def 6,A8,A16,A13,A12;
  end;
  U.:R_x c= -- R_x
  proof
    let y be object such that A17: y in U.:R_x;
    consider a be object such that
    A18: a in dom U & a in R_x & U.a = y by A17,FUNCT_1:def 6;
    reconsider a as Surreal by A18,SURREAL0:def 16;
    set B = born a;
    A19: a in L_x\/ R_x by A18,XBOOLE_0:def 3;
    then A20: B in A by SURREALO:1;
    A21:B in succ A by SURREALO:1,A19,ORDINAL1:8;
    then consider SB be ManySortedSet of Day B such that
    A22:S.B = SB and
      for x be object st x in Day B holds
        SB.x = [union rng (S|B).:R_x, union rng(S|B).:L_x] by A2;
    A23:No_opposite_op B = S.B by A21,A1,A2,Th4;
    A24:  dom SB = Day B by PARTFUN1:def 2;
    A25: a in Day B by SURREAL0:def 18;
    SB.a = (union rng S).a by Th2,A24,A25,A21,A22,A1;
    then -a = y by A18,Th5,A20,A23,A24,A25,A22;
    hence thesis by A18,Def4;
  end;
  then A26: U.:R_x  = -- R_x by A6,XBOOLE_0:def 10;
  A27: -- L_x c= U.:L_x
  proof
    let y be object such that A28: y in -- L_x;
    consider a be Surreal such that
    A29:a in L_x & y = -a by Def4,A28;
    set B = born a;
    A30:  a in L_x\/ R_x by A29,XBOOLE_0:def 3;
    then A31: B in A by SURREALO:1;
    A32:B in succ A by A30,SURREALO:1,ORDINAL1:8;
    then consider SB be ManySortedSet of Day B such that
    A33:S.B = SB and
      for x be object st x in Day B holds
        SB.x = [union rng (S|B).:R_x, union rng(S|B).:L_x] by A2;
    A34:No_opposite_op B = S.B by A32,A1,A2,Th4;
    A35:dom SB = Day B by PARTFUN1:def 2;
    A36:a in Day B by SURREAL0:def 18;
    A37:SB.a = (union rng S).a by Th2,A33,A35,A36,A32,A1;
    (union rng S).a = U.a & a in dom U by Th5,A31,A35,A36,A33;
    hence thesis by FUNCT_1:def 6,A29,A37,A34,A33;
  end;
  U.:L_x c= -- L_x
  proof
    let y be object such that A38: y in U.:L_x;
    consider a be object such that
    A39: a in dom U & a in L_x & U.a = y by A38,FUNCT_1:def 6;
    reconsider a as Surreal by A39,SURREAL0:def 16;
    set B = born a;
    A40: a in L_x\/ R_x by A39,XBOOLE_0:def 3;
    then A41: B in A by SURREALO:1;
    A42:B in succ A by SURREALO:1,A40,ORDINAL1:8;
    then consider SB be ManySortedSet of Day B such that
    A43:S.B = SB and
      for x be object st x in Day B holds
        SB.x = [union rng (S|B).:R_x, union rng(S|B).:L_x] by A2;
    A44:No_opposite_op B = S.B by A42,A1,A2,Th4;
    A45:dom SB = Day B by PARTFUN1:def 2;
    A46:a in Day B by SURREAL0:def 18;
    SB.a = (union rng S).a by Th2,A45,A46,A42,A43,A1;
    then -a = y by A39,Th5,A41,A44,A45,A46,A43;
    hence thesis by A39,Def4;
  end;
  hence thesis by A5,A26,A27,XBOOLE_0:def 10;
end;

Lm1: for D be Ordinal holds
(for x be Surreal st x in Day D holds -x is surreal  & -x in Day D
    & for x1 be Surreal st x1 = -x holds  -x1 = x) &
  for x,x1,y,y1 be Surreal st x in Day D & y in Day D
    & x1=-x & y1=-y holds x <= y iff y1 <= x1
proof
  defpred P[Ordinal] means
  (for x be Surreal st x in Day $1 holds -x is surreal  & -x in Day $1
    & for x1 be Surreal st x1 = -x holds  -x1 = x ) &
  for x,x1,y,y1 be Surreal st x in Day $1 & y in Day $1
    & x1=-x & y1=-y holds x <= y iff y1 <= x1;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that
    A2:for C be Ordinal st C in D holds P[C];
    thus A3: for x be Surreal st x in Day D holds
      -x is surreal  & -x in Day D &
    for x1 be Surreal st x1 = -x holds -x1 = x
    proof
      let x be Surreal such that A4: x in Day D;
      A5:x=[L_x,R_x];
      then A6: L_x << R_x by A4,SURREAL0:46;
      A7: -- R_x << --L_x
      proof
        let l,r be Surreal such that
        A8: l in -- R_x & r in -- L_x;
        consider L be Surreal such that
        A9: L in R_x & l=-L by A8,Def4;
        consider R be Surreal such that
        A10: R in L_x & r=-R by A8,Def4;
        L in L_x \/ R_x by A9,XBOOLE_0:def 3;
        then consider OL be Ordinal such that
        A11:  OL in D & L in Day OL by A4,A5,SURREAL0:46;
        A12: not L <= R by A6,A10,A9;
        R in L_x \/ R_x by A10,XBOOLE_0:def 3;
        then consider OR be Ordinal such that
        A13:  OR in D & R in Day OR by A4,A5,SURREAL0:46;
        set O=OL\/OR;
        A14: Day OL c= Day O & Day OR c= Day O by SURREAL0:35,XBOOLE_1:7;
        O in D by ORDINAL3:12,A11,A13;
        hence thesis by A2,A12,A14,A9,A10,A13,A11;
      end;
      for y be object st y in -- R_x \/ -- L_x
        ex O be Ordinal st O in D & y in Day O
      proof
        let y be object such that A15:y in -- R_x \/ -- L_x;
        per cases by A15,XBOOLE_0:def 3;
        suppose y in --R_x;
          then consider L be Surreal such that
          A16: L in R_x & y=-L by Def4;
          L in L_x \/ R_x by A16,XBOOLE_0:def 3;
          then consider OL be Ordinal such that
          A17:  OL in D & L in Day OL by A4,A5,SURREAL0:46;
          P[OL] by A17,A2;
          hence thesis by A16,A17;
        end;
        suppose y in --L_x;
          then consider L be Surreal such that
          A18: L in L_x & y=-L by Def4;
          L in L_x \/ R_x by A18,XBOOLE_0:def 3;
          then consider OL be Ordinal such that
          A19:  OL in D & L in Day OL by A4,A5,SURREAL0:46;
          P[OL] by A19,A2;
          hence thesis by A18,A19;
        end;
      end;
      then  [-- R_x, --L_x] in Day D by A7,SURREAL0:46;
      hence -x is surreal  & -x in Day D by Th7;
      let x1 be Surreal such that A20:x1 = -x;
      A21: x1 = [-- R_x, --L_x] by A20,Th7;
      A22: -x1 = [-- R_x1, --L_x1] by Th7;
      A23: -- R_x1 c= L_x
      proof
        let y be object;
        assume y in --R_x1;
        then consider y1 be Surreal such that
        A24: y1 in R_x1 & - y1 = y by Def4;
        consider y2 be Surreal such that
        A25: y2 in L_x & - y2 = y1 by A21,A24,Def4;
        y2 in L_x\/R_x by  A25,XBOOLE_0:def 3;
        then A26:born y2 in born x c= D by A4,SURREALO:1,SURREAL0:def 18;
        y2 in Day born y2 by SURREAL0:def 18;
        hence thesis by A25,A2,A26,A24;
      end;
      L_x c= -- R_x1
      proof
        let y be object;
        assume A27: y in L_x;
        then reconsider y as Surreal by SURREAL0:def 16;
        y in L_x \/R_x by A27,XBOOLE_0:def 3;
        then A28: born y in born x c= D & y in Day born y
        by A4,SURREALO:1,SURREAL0:def 18;
        then reconsider y1 = -y as Surreal by A2;
        y1 in R_x1 by A21,A27,Def4;
        then -y1 in -- R_x1 by Def4;
        hence thesis by A28,A2;
      end;
      then  A29: L_x = -- R_x1 by A23,XBOOLE_0:def 10;
      A30: -- L_x1 c= R_x
      proof
        let y be object;assume y in --L_x1;
        then consider y1 be Surreal such that
        A31: y1 in L_x1 & - y1 = y by Def4;
        consider y2 be Surreal such that
        A32: y2 in R_x & - y2 = y1 by A21,A31,Def4;
        y2 in L_x\/R_x by  A32,XBOOLE_0:def 3;
        then A33:born y2 in born x c= D by A4,SURREALO:1,SURREAL0:def 18;
        y2 in Day born y2 by SURREAL0:def 18;
        hence thesis by A32,A2,A33,A31;
      end;
      R_x c= -- L_x1
      proof
        let y be object;
        assume A34: y in R_x;
        then reconsider y as Surreal by SURREAL0:def 16;
        y in L_x \/R_x by A34,XBOOLE_0:def 3;
        then A35: born y in born x c= D & y in Day born y
        by A4,SURREALO:1,SURREAL0:def 18;
        then reconsider y1 = -y as Surreal by A2;
        y1 in L_x1 by A21,A34,Def4;
        then -y1 in -- L_x1 by Def4;
        hence thesis by A35,A2;
      end;
      then  R_x =--L_x1 by A30,XBOOLE_0:def 10;
      hence thesis by A22,A29;
    end;
    defpred O[Ordinal] means
    for x,x1,y,y1 be Surreal st x in Day D & y in Day D
    & x1=-x & y1=-y & born x (+) born y c= $1 holds x <= y iff y1 <= x1;
    A36: for E be Ordinal st for F be Ordinal st F in E holds O[F] holds O[E]
    proof
      let E be Ordinal such that
      A37:for C be Ordinal st C in E holds O[C];
      A38: for x,x1,y,y1 be Surreal st x in Day D & y in Day D
      & x1=-x & y1=-y & born x (+) born y c= E & x <= y holds y1 <= x1
      proof
        let x,x1,y,y1 be Surreal such that A39:x in Day D & y in Day D
        & x1=-x & y1=-y & born x (+) born y c= E & x <= y;
        A40: -x = [-- R_x, --L_x] & -y = [-- R_y, --L_y] by Th7;
        A41: x in Day born x & born x c= D by A39,SURREAL0:def 18;
        A42: y in Day born y & born y c= D by A39,SURREAL0:def 18;
        A43: L_x << {y} & {x} << R_y by A39,SURREAL0:43;
        A44: {y1} << R_x1
        proof
          let r,l1 be Surreal such that A45:  r in {y1} & l1 in R_x1;
          consider l be Surreal such that
          A46: l in L_x & l1 = -l by A45,A39,A40,Def4;
          A47: l in L_x \/ R_x by XBOOLE_0:def 3,A46;
          then A48: born l in born x by SURREALO:1;
          A49: born l (+) born y in born x (+)born y
          by A47,SURREALO:1,ORDINAL7:94;
          A50:l in Day born l c= Day D
          by A41,A48,SURREAL0:def 18,35,ORDINAL1:def 2;
          A51:r=y1 by A45,TARSKI:def 1;
          y in {y} by TARSKI:def 1;
          then not y <= l by A43,A46;
          hence thesis by A50,A49,A39,A37,A46,A51;
        end;
        L_y1 << {x1}
        proof
          let l1,r be Surreal such that A52:l1 in L_y1 & r in {x1};
          consider l be Surreal such that
          A53: l in R_y & l1 = -l by A52,A39,A40,Def4;
          A54: l in L_y \/ R_y by XBOOLE_0:def 3,A53;
          then A55: born l in born y by SURREALO:1;
          A56:born l (+) born x in born x (+)born y
          by A54,SURREALO:1,ORDINAL7:94;
          A57: l in Day born l c= Day D
          by A42,A55,SURREAL0:def 18,35,ORDINAL1:def 2;
          A58:r=x1 by A52,TARSKI:def 1;
          x in {x} by TARSKI:def 1;
          then not l <= x by A43,A53;
          hence thesis by A58,A57,A56,A39,A37,A53;
        end;
        hence thesis by A44,SURREAL0:43;
      end;
      let x,x1,y,y1 be Surreal such that A59:x in Day D & y in Day D
      & x1=-x & y1=-y & born x (+) born y c= E;
      thus x <= y implies y1 <= x1 by A59,A38;
      A60:x in Day born x by SURREAL0:def 18;
      born x c= D by A59,SURREAL0:def 18;
      then  born x = D or born x in D by ORDINAL1:11,XBOOLE_0:def 8;
      then  x1 in Day born x by A60,A3,A2,A59;
      then A61:born x1 c= born x by SURREAL0:def 18;
      A62:x1 in Day born x1 by SURREAL0:def 18;
      A63:x1 in Day D by A3,A59;
      then born x1 c= D by SURREAL0:def 18;
      then A64:born x1 = D or born x1 in D by ORDINAL1:11,XBOOLE_0:def 8;
      A65: -x1=x by A3,A59;
      then  x in Day born x1 by A62,A64,A3,A2;
      then born x c= born x1 by SURREAL0:def 18;
      then A66: born x = born x1 by A61,XBOOLE_0:def 10;
      A67:y in Day born y by SURREAL0:def 18;
      born y c= D by A59,SURREAL0:def 18;
      then born y = D or born y in D by ORDINAL1:11,XBOOLE_0:def 8;
      then y1 in Day born y by A67,A3,A2,A59;
      then A68:born y1 c= born y by SURREAL0:def 18;
      A69:y1 in Day born y1 by SURREAL0:def 18;
      A70: y1 in Day D by A3,A59;
      then born y1 c= D by SURREAL0:def 18;
      then A71: born y1 = D or born y1 in D by ORDINAL1:11,XBOOLE_0:def 8;
      A72: -y1=y by A3,A59;
      then y in Day born y1 by A69,A71,A3,A2;
      then born y c= born y1 by SURREAL0:def 18;
      then born y = born y1 by A68,XBOOLE_0:def 10;
      hence thesis by A59,A38,A66,A65,A72,A70,A63;
    end;
    A73:for E be Ordinal holds O[E] from ORDINAL1:sch 2(A36);
    let x,x1,y,y1 be Surreal such that A74:x in Day D & y in Day D
    & x1=-x & y1=-y;
    O[born x (+) born y] by A73;
    hence thesis by A74;
  end;
  for E be Ordinal holds P[E] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

registration
  let x;
  cluster -x -> surreal;
  coherence
  proof
    x in Day born x by SURREAL0:def 18;
    hence thesis by Lm1;
  end;
end;

registration
  let X be set;
  cluster --X -> surreal-membered;
  coherence
  proof
    let y be object;
    assume y in --X;
    then ex x be Surreal st x in X & y = -x by Def4;
    hence thesis;
  end;
end;

theorem Th8:
  L_(-x) = --R_x & R_(-x) = --L_x
proof
  -x = [-- R_x, --L_x] by Th7;
  hence thesis;
end;

::$N Conway Ch.1 Th.4(ii)
theorem Th9:
  - -x = x
proof
  x in Day born x by SURREAL0:def 18;
  hence thesis by Lm1;
end;

registration
  let x;
  reduce - - x to x;
  reducibility by Th9;
end;

theorem Th10:
  x <= y iff -y <= -x
proof
  set Bx=born x,By=born y,B=Bx\/By;
  A1:Day Bx c= Day B & Day By c= Day B by SURREAL0:35,XBOOLE_1:7;
  x in Day Bx & y in Day By by SURREAL0:def 18;
  hence thesis by A1,Lm1;
end;

theorem
  for x be Surreal, D be Ordinal st x in Day D holds -x in Day D by Lm1;

theorem Th12:
  born x = born -x
proof
  x in Day born x & -x in Day born -x by SURREAL0:def 18;
  then -x in Day born x & - - x in Day born -x & - -x = x by Lm1;
  then born -x c= born x & born x c= born -x by SURREAL0:def 18;
  hence thesis by XBOOLE_0:def 10;
end;

theorem Th13:
  born_eq x = born_eq -x
proof
  consider y such that
  A1: born y = born_eq x & y ==x by SURREALO:def 5;
  A2: -y == - x by A1,Th10;
  A3: born y = born -y by Th12;
  for z st z == -x holds born y c= born z
  proof
    let z;
    assume z == -x;
    then -z == - -x = x by Th10;
    then born_eq x c= born -z by SURREALO:def 5;
    hence thesis by A1,Th12;
  end;
  hence thesis by A1,A2,A3,SURREALO:def 5;
end;

theorem
  x in born_eq_set y implies -x in born_eq_set -y
proof
  assume A1:x in born_eq_set y;
  then x == y by SURREALO:def 6;
  then A2: -x == -y by Th10;
  x in Day born_eq y by A1,SURREALO:def 6;
  then born -x = born x c= born_eq y =born_eq -y
    by SURREAL0:def 18,Th13,Th12;
  then -x in Day (born -x) c= Day (born_eq -y) by SURREAL0:def 18,35;
  hence thesis by A2,SURREALO:def 6;
end;

theorem Th15:
  for X  be surreal-membered set
    holds -- -- X = X
proof
  let X  be surreal-membered set;
  thus -- -- X c= X
  proof
    let x be object;
    assume x in -- -- X;
    then consider y be Surreal such that A1: y in --X & x = -y by Def4;
    ex z be Surreal st z in X & y = -z by A1,Def4;
    hence thesis by A1;
  end;
  let x be object;
  assume A2: x in X;
  then reconsider x as Surreal by SURREAL0:def 16;
  -x in --X by A2,Def4;
  then  - -x in -- --X by Def4;
  hence thesis;
end;

theorem Th16:
  card (--X) c= card X
proof
  defpred P[object,object] means for x st x=$1 holds $2 = -x;
  A1:o in --X implies ex u being object st P[o,u]
  proof
    assume o in --X;
    then consider x such that
    A2: x in X & o = -x by Def4;
    take x;
    let y;
    thus thesis by A2;
  end;
  consider f be Function such that
  A3:dom f = --X and
  A4: for o being object st o in --X holds P[o,f.o] from CLASSES1:sch 1(A1);
  A5:rng f c= X
  proof
    let y be object;
    assume y in rng f;
    then consider x be object such that
    A6: x in dom f & f.x=y by FUNCT_1:def 3;
    consider z be Surreal such that
    A7: z in X & x = -z by A3,A6,Def4;
    f.x = - -z =z by A6,A7,A3,A4;
    hence thesis by A7,A6;
  end;
  f is one-to-one
  proof
    let x1,x2 be object such that A8: x1 in dom f & x2 in dom f & f.x1 = f.x2;
    consider y1 be Surreal such that
    A9:y1 in X & x1 = -y1 by A8,A3,Def4;
    consider y2 be Surreal such that
    A10:   y2 in X & x2 = -y2 by A8,A3,Def4;
    f.x1 = - -y1 =y1 & f.x2 = - -y2 =y2 by A10,A9,A3,A8,A4;
    hence thesis by A8,A9,A10;
  end;
  hence thesis by CARD_1:10,A3,A5;
end;

theorem
  for X be surreal-membered set holds
    card X = card --X
proof
  let X be surreal-membered set;
  -- -- X = X by Th15;
  then card (--X) c= card X c= card (--X) by Th16;
  hence thesis by XBOOLE_0:def 10;
end;

Lm2:
  for X,Y  be surreal-membered set st X <<= Y holds --Y <<= --X
proof
  let X,Y  be surreal-membered set such that A1: X <<= Y;
  let l1,r1 be Surreal such that A2: l1 in --X & r1 in --Y;
  consider l be Surreal such that A3: l in X & l1 = -l by A2,Def4;
  ex r be Surreal st r in Y & r1 = -r by A2,Def4;
  hence thesis by A3,A1,Th10;
end;

theorem
  for X,Y be surreal-membered set
    holds X <<= Y iff --Y <<= --X
proof
  let X,Y  be surreal-membered set;
  -- -- X = X & -- -- Y = Y by Th15;
  hence thesis by Lm2;
end;

Lm3:
  for X,Y be surreal-membered set st X << Y holds --Y << --X
proof
  let X,Y  be surreal-membered set such that A1: X << Y;
  let l1,r1 be Surreal such that A2: l1 in --Y & r1 in --X;
  A3:ex l be Surreal st l in Y & l1 = -l by A2,Def4;
  ex r be Surreal st r in X & r1 = -r by A2,Def4;
  hence thesis by A3,A1,Th10;
end;

theorem
 for X,Y be surreal-membered set
    holds X << Y iff --Y << --X
proof
  let X,Y  be surreal-membered set;
  -- -- X = X & -- -- Y = Y by Th15;
  hence thesis by Lm3;
end;

theorem Th20:
  for X1,X2 be set holds
    --(X1\/X2)  = (-- X1) \/ (--X2)
proof
  let X1,X2 be set;
  thus --(X1\/X2)  c= (-- X1) \/ (--X2)
  proof
    let xy be object;
    assume xy in --(X1\/X2);
    then consider x be Surreal such that
    A1:  x in X1\/X2 & xy= -x by Def4;
    x in X1 or x in X2 by A1,XBOOLE_0:def 3;
    then xy in (--X1) or xy in (--X2) by A1,Def4;
    hence thesis by XBOOLE_0:def 3;
  end;
  let xy be object;
  assume xy in (-- X1) \/ (--X2);
  then per cases by XBOOLE_0:def 3;
  suppose xy in --X1;
    then consider x be Surreal such that
    A2:  x in X1  & xy = -x by Def4;
    x in X1\/X2 by A2,XBOOLE_0:def 3;
    hence thesis by A2,Def4;
  end;
  suppose xy in --X2;
    then consider x be Surreal such that
    A3:  x in X2  & xy=-x by Def4;
    x in X1\/X2 by A3,XBOOLE_0:def 3;
    hence thesis by A3,Def4;
  end;
end;

theorem Th21:
  {-x} = --{x}
proof
  o in {-x} implies o in --{x}
  proof
  assume o in {-x};
    then o =-x & x in {x} by TARSKI:def 1;
    hence thesis by Def4;
  end;
  hence {-x} c= --{x} by TARSKI:def 3;
  let xy be object;
  assume xy in --{x};
  then consider y such that
   A1: y in {x} & xy = -y by Def4;
  x=y by A1,TARSKI:def 1;
  hence thesis by A1,TARSKI:def 1;
end;

theorem Th22:
  -- {} = {}
proof
  assume -- {} <> {};
  then consider x be object such that
  A1: x in --{} by XBOOLE_0:def 1;
  ex y st y in {} & x=-y by A1,Def4;
  hence thesis;
end;

theorem Th23:
  - 0_No = 0_No
proof
  - 0_No = [--R_0_No, --L_0_No] by  Th7;
  hence thesis by Th22;
end;

registration
  reduce - 0_No to 0_No;
  reducibility by Th23;
end;

theorem
  x==0_No iff -x == 0_No by Th23,Th10;

definition
  let A be Ordinal;
  func Triangle A -> Subset of [:Day A,Day A:] means :Def5:
     for x,y be Surreal holds
         [x,y] in it iff born x (+) born y c= A;
  existence
  proof
    set IT = {[x,y] where x,y is Element of Day A: born x (+) born y c= A};
    IT c= [:Day A,Day A:]
    proof
      let a be object;
      assume a in IT;
      then ex x1,y1 be Element of Day A st
        a=[x1,y1] & born x1 (+) born y1 c= A;
      hence thesis by ZFMISC_1:87;
    end;
    then reconsider IT as Subset of [:Day A,Day A:];
    take IT;
    let x,y be Surreal;
    thus [x,y] in IT implies born x (+) born y c= A
    proof
      assume [x,y] in IT;
      then consider x1,y1 be Element of Day A such that
      A1:  [x,y]=[x1,y1] & born x1 (+) born y1 c= A;
      x=x1& y = y1 by A1,XTUPLE_0:1;
      hence thesis by A1;
    end;
    A2: born x c= born x (+) born y & born y c= born x (+) born y
    by ORDINAL7:86;
    assume A3: born x (+) born y c= A;
    then born x c= A & born y c= A by A2,XBOOLE_1:1;
    then x in Day born x c= Day A & y in Day born y c= Day A
      by SURREAL0:35,SURREAL0:def 18;
    hence thesis by A3;
  end;
  uniqueness
  proof
    let IT1,IT2 be Subset of [:Day A,Day A:] such that
    A4:for x,y be Surreal holds
         [x,y] in IT1 iff born x (+) born y c= A and
    A5:for x,y be Surreal holds
         [x,y] in IT2 iff born x (+) born y c= A;
    let x,y be object;
    thus [x,y] in IT1 implies [x,y] in IT2
    proof
      assume A6:[x,y] in IT1;
      then reconsider x1=x,y1=y as Element of Day A by ZFMISC_1:87;
      born x1 (+) born y1 c= A by A6,A4;
      hence thesis by A5;
    end;
    assume A7:[x,y] in IT2;
    then reconsider x1=x,y1=y as Element of Day A by ZFMISC_1:87;
    born x1 (+) born y1 c= A by A7,A5;
    hence thesis by A4;
  end;
end;

registration
  let A be Ordinal;
  cluster Triangle A -> non empty;
  coherence
  proof
    set x = the Element of Day A,y = the Element of Day 0;
    born y c= 0 by SURREAL0:def 18;
    then A1:born y = 0;
    born x c= A by SURREAL0:def 18;
    then born x (+) born y c= A by A1,ORDINAL7:69;
    hence thesis by Def5;
  end;
end;

theorem Th25:
  for A,B be Ordinal st A c= B holds Triangle A c= Triangle B
proof
  let A,B be Ordinal such that A1: A c= B;
  let x,y be object such that A2: [x,y] in Triangle A;
  reconsider x,y as Element of Day A by A2,ZFMISC_1:87;
  born x (+) born y c= A by A2,Def5;
  then born x (+) born y c= B by A1,XBOOLE_1:1;
  hence thesis by Def5;
end;

begin :: The Sum of Surreal Numbers

definition
  let A be Ordinal;
  func No_sum_op A -> ManySortedSet of Triangle A means :Def6:
    ex S be c=-monotone Function-yielding Sequence st
      dom S = succ A & it = S.A &
      for B be Ordinal st B in succ A
         ex SB be ManySortedSet of Triangle B st S.B = SB &
           for x be object st x in Triangle B holds
             SB.x = [union rng (S|B).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
                      union rng(S|B).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )];
  existence
  proof
    deffunc D(Ordinal) = Triangle $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
    [union rng $2.:([:L_L_$1,{R_$1}:]\/[:{L_$1},L_R_$1:] ),
      union rng $2.:([:R_L_$1,{R_$1}:]\/[:{L_$1},R_R_$1:])];
    A1: for A,B be Ordinal st A c= B holds D(A) c= D(B) by Th25;
    A2: for S be c=-monotone Function-yielding Sequence st
      for A be Ordinal st A in dom S holds dom (S.A) = D(A)
        for A be Ordinal,x be object st x in dom (S.A) holds H(x,S|A) = H(x,S)
    proof
      let S be c=-monotone Function-yielding Sequence such that
      A3:for A be Ordinal st A in dom S holds dom (S.A) = D(A);
      let A be Ordinal,a be object such that A4: a in dom (S.A);
      S.A <>{} by A4;
      then A5:A in dom S by FUNCT_1:def 2;
      then A6: dom (S.A) = D(A) by A3;
      then consider x,y be object such that
      A7:x in Day A & y in Day A & a=[x,y] by A4,ZFMISC_1:def 2;
      reconsider x,y as Surreal by A7;
      A8: born x (+) born y c= A by A7,A6,A4,Def5;
      set LL=[:L_L_a,{R_a}:]\/[:{L_a},L_R_a:];
      for b be object st b in LL
      ex B be Ordinal st b in dom (S.B) & B in A
      proof
        let b be object such that A9:b in LL;
        per cases by A9,XBOOLE_0:def 3;
        suppose b in [:L_L_a,{R_a}:];
          then consider l,r be object such that
          A10: l in L_x & r in {y} & b = [l,r] by A7,ZFMISC_1:def 2;
          reconsider l as Surreal by A10,SURREAL0:def 16;
          set B = born l (+) born y;
          take B;
          l in L_x \/ R_x by A10,XBOOLE_0:def 3;
          then A11: B in born x (+) born y by ORDINAL7:94,SURREALO:1;
          then A12:dom (S.B) = D(B) by A8,A3,A5,ORDINAL1:10;
          [l,y] in D(B) by Def5;
          hence thesis by A12,A10,A11,A8,TARSKI:def 1;
        end;
        suppose b in [:{L_a},L_R_a:];
          then consider l,r be object such that
          A13: l in {x} & r in L_y & b = [l,r] by A7,ZFMISC_1:def 2;
          reconsider r as Surreal by A13,SURREAL0:def 16;
          set B = born x (+) born r;
          take B;
          r in L_y \/ R_y by A13,XBOOLE_0:def 3;
          then A14: B in born x (+) born y by ORDINAL7:94,SURREALO:1;
          then A15:dom (S.B) = D(B) by A8,A3,A5,ORDINAL1:10;
          [x,r] in D(B) by Def5;
          hence thesis by A15,A13,A14,A8,TARSKI:def 1;
        end;
      end;
      then A16: (union rng (S|A)).:LL = (union rng S).:LL by Th3;
      set RR=[:R_L_a,{R_a}:]\/[:{L_a},R_R_a:];
      for b be object st b in RR
        ex B be Ordinal st b in dom (S.B) & B in A
      proof
        let b be object such that A17:b in RR;
        per cases by A17,XBOOLE_0:def 3;
        suppose b in [:R_L_a,{R_a}:];
          then consider l,r be object such that
          A18: l in R_x & r in {y} & b = [l,r] by A7,ZFMISC_1:def 2;
          reconsider l as Surreal by A18,SURREAL0:def 16;
          set B = born l (+) born y;
          take B;
          l in L_x \/ R_x by A18,XBOOLE_0:def 3;
          then A19: B in born x (+) born y by ORDINAL7:94,SURREALO:1;
          then A20:dom (S.B) = D(B) by A8,A3,A5,ORDINAL1:10;
          [l,y] in D(B) by Def5;
          hence thesis by A20,A18,A19,A8,TARSKI:def 1;
        end;
        suppose b in [:{L_a},R_R_a:];
          then consider l,r be object such that
          A21: l in {x} & r in R_y & b = [l,r] by A7,ZFMISC_1:def 2;
          reconsider r as Surreal by A21,SURREAL0:def 16;
          set B = born x (+) born r;
          take B;
          r in L_y \/ R_y by A21,XBOOLE_0:def 3;
          then A22: B in born x (+) born y by ORDINAL7:94,SURREALO:1;
          then A23:dom (S.B) = D(B) by A8,A3,A5,ORDINAL1:10;
          [x,r] in D(B) by Def5;
          hence thesis by A23,A21,A22,A8,TARSKI:def 1;
        end;
      end;
      hence thesis by A16,Th3;
    end;
    consider S be c=-monotone Function-yielding Sequence such that
    A24: dom S = succ A and
    A25:  for A1 be Ordinal st A1 in succ A
      ex SA1 be ManySortedSet of D(A1) st S.A1 = SA1 &
        for x be object st x in D(A1) holds SA1.x = H(x,S|A1)
          from MonoFvSExists(A2,A1);
    consider SA be ManySortedSet of D(A) such that
    A26:S.A = SA and
        for x be object st x in D(A) holds SA.x = H(x,S|A) by A25,ORDINAL1:6;
    take SA,S;
    thus thesis by A24,A26,A25;
  end;
  uniqueness
  proof
    deffunc D(Ordinal) = Triangle $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
    [union rng $2.:([:L_L_$1,{R_$1}:]\/[:{L_$1},L_R_$1:] ),
      union rng $2.:([:R_L_$1,{R_$1}:]\/[:{L_$1},R_R_$1:])];
    let it1,it2 be ManySortedSet of Triangle A;
    given S1 be c=-monotone Function-yielding Sequence such that
    A27:dom S1 = succ A & it1 = S1.A and
    A28:for B be Ordinal st B in succ A
         ex SB be ManySortedSet of D(B) st S1.B = SB &
           for x be object st x in D(B) holds
             SB.x = H(x,S1|B);
    given S2 be c=-monotone Function-yielding Sequence such that
    A29:dom S2 = succ A & it2 = S2.A and
    A30:for B be Ordinal st B in succ A
         ex SB be ManySortedSet of D(B) st S2.B = SB &
           for x be object st x in D(B) holds SB.x = H(x,S2|B);
    A31:succ A c= dom S1 & succ A c= dom S2 by A27,A29;
    S1|succ A = S2|succ A from MonoFvSUniq(A31,A28,A30);
    then S1|succ A = S2 by A29;
    hence thesis by A27,A29;
  end;
end;

theorem Th26:
  for S be c=-monotone Function-yielding Sequence st
    for B be Ordinal st B in dom S
      ex SB be ManySortedSet of Triangle B st S.B = SB &
        for x be object st x in Triangle B holds
          SB.x = [union rng(S|B).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:]),
                  union rng(S|B).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:])]
     holds
  for A be Ordinal st A in dom S holds No_sum_op A = S.A
proof
  deffunc D(Ordinal) = Triangle $1;
  deffunc H(object,c=-monotone Function-yielding Sequence) =
  [union rng $2.:([:L_L_$1,{R_$1}:]\/[:{L_$1},L_R_$1:] ),
  union rng $2.:([:R_L_$1,{R_$1}:]\/[:{L_$1},R_R_$1:])];
  let S be c=-monotone Function-yielding Sequence such that
      A1: for B be Ordinal st B in dom S
         ex SB be ManySortedSet of D(B) st S.B = SB &
           for x be object st x in D(B) holds
             SB.x = H(x,S|B);
  let A be Ordinal such that A2: A in dom S;
  consider S1 be c=-monotone Function-yielding Sequence such that
  A3:dom S1 = succ A & No_sum_op A = S1.A and
  A4:for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S1.B = SB &
      for x be object st x in D(B) holds SB.x = H(x,S1|B) by Def6;
  A5:succ A c= dom S by A2,ORDINAL1:21;
  A6: for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S.B = SB &
      for x be object st x in D(B) holds SB.x = H(x,S|B) by A1,A5;
  A7: succ A c= dom S & succ A c= dom S1 by A2,ORDINAL1:21,A3;
  A8: S|succ A = S1|succ A from MonoFvSUniq(A7,A6,A4);
  A in succ A by ORDINAL1:8;
  hence thesis by A3,A8,FUNCT_1:49;
end;

definition
  let x,y be Surreal;
  func x + y -> set equals
    (No_sum_op (born x (+) born y)).[x,y];
  coherence;
end;

definition
  let X,Y be set;
  func X ++ Y -> set means :Def8:
       o in it iff ex x,y be Surreal st x in X & y in Y & o = x + y;
  existence
proof
  defpred P[object,object] means L_$1 is Surreal & $1`2 is Surreal &
  for x,y be Surreal st x=L_$1 & y = $1`2 holds $2=x+y;
  A1:for x,y,z being object st P[x,y] & P[x,z] holds y = z
  proof
    let x,y,z be object such that A2:P[x,y] & P[x,z];
    reconsider x1=L_x,x2=R_x as Surreal by A2;
    y = x1 + x2 = z by A2;
    hence thesis;
  end;
  consider M be set such that
  A3:for x being object holds x in M iff
    ex y being object st y in [:X,Y:] & P[y,x] from TARSKI:sch 1(A1);
  take M;
  let a be object;
  thus a in M implies ex x,y be Surreal st x in X & y in Y & a = x + y
  proof
    assume a in M;
    then consider yy be object such that A4: yy in [:X,Y:] & P[yy,a] by A3;
    reconsider y1=L_yy,y2=R_yy as Surreal by A4;
    take y1,y2;
    yy is pair by A4;
    hence thesis by A4,ZFMISC_1:87;
  end;
  given x,y be Surreal such that A5:x in X & y in Y & a = x + y;
  A6:[x,y] in [:X,Y:] by A5,ZFMISC_1:87;
  P[[x,y],a] by A5;
  hence thesis by A6,A3;
end;
uniqueness
proof
  let M1,M2 be set such that
  A7:for z be object holds
  z in M1 iff ex x,y be Surreal st x in X & y in Y & z = x + y and
  A8: for z be object holds
  z in M2 iff ex x,y be Surreal st x in X & y in Y & z = x + y;
  now let z be object;
    z in M1 iff ex x,y be Surreal st x in X & y in Y & z = x + y by A7;
    hence z in M1 iff z in M2 by A8;
  end;
  hence thesis by TARSKI:2;
end;
end;

theorem Th27:
  for X be set holds X++{} = {}
proof
  let X be set;
  assume X++{} <> {};
  then consider x be object such that
  A1:x in X++{} by XBOOLE_0:def 1;
  ex a,b be Surreal st a in X & b in {}& x=a+b by Def8,A1;
  hence thesis;
end;

theorem Th28:
  for x,y be Surreal holds
    x + y = [(L_x ++ {y})\/({x} ++ L_y), (R_x ++ {y}) \/({x} ++ R_y)]
proof
  let x,y be Surreal;
  set Bx=born x,By=born y,A=Bx (+)By;
  consider S be c=-monotone Function-yielding Sequence such that
  A1:  dom S = succ A & No_sum_op A = S.A and
  A2: for B be Ordinal st B in succ A
     ex SB be ManySortedSet of Triangle B st S.B = SB &
       for x be object st x in Triangle B holds
         SB.x = [union rng (S|B).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
                 union rng(S|B).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by Def6;
  consider SA be ManySortedSet of Triangle A such that
    A3:S.A = SA and
    A4:for x be object st x in Triangle A holds
       SA.x = [union rng (S|A).:([:L_x`1,{R_x}:]\/[:{L_x},L_R_x:]),
               union rng(S|A).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:])]
       by A2,ORDINAL1:6;
  set U =union rng (S|A);
  A5:[x,y] in Triangle A by Def5;
  [x,y]`1 =x & [x,y]`2=y;
  then A6: x+y = [U.:([:L_x,{y}:]\/[:{x},L_y:] ),
    U.:([:R_x,{y}:]\/[:{x},R_y:] )] by A1,A3,A5,A4;
  A7: U.:[:L_x,{y}:] c= L_x ++ {y}
  proof
    let a be object;
    assume a in U.:[:L_x,{y}:];
    then consider b be object such that
    A8: b in dom U & b in [:L_x,{y}:] & U.b = a by FUNCT_1:def 6;
    consider x1,y1 be object such that
    A9: x1 in L_x & y1 in {y} & b=[x1,y1] by ZFMISC_1:def 2,A8;
    reconsider x1,y1 as Surreal by A9,SURREAL0:def 16;
    set X1 = born x1,C = X1 (+) born y;
    x1 in L_x\/ R_x by A9,XBOOLE_0:def 3;
    then A10: C in A by SURREALO:1,ORDINAL7:94;
    then A11: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A12:S.C = SC and
    for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A13:y=y1 by A9,TARSKI:def 1;
    A14:dom SC = Triangle C by PARTFUN1:def 2;
    A15: [x1,y] in Triangle C by Def5;
    A16: x1 + y = SC.[x1,y] by A11,A1,A2,A12,Th26;
    A17: SC. [x1,y] = (union rng S).[x1,y] by A11,A14,A15,Th2,A1,A12;
    U.b = (union rng S).b by A12,Th5,A10,A13,A9,A15,A14;
    hence thesis by A9,Def8,A8, A17,A16,A13;
  end;
  L_x ++ {y} c= U.:[:L_x,{y}:]
  proof
    let b be object;
    assume b in L_x ++ {y};
    then consider x1,y1 be Surreal such that
    A18: x1 in L_x & y1 in {y} & b = x1 + y1 by Def8;
    A19: y=y1 by A18,TARSKI:def 1;
    set X1 = born x1,C = X1 (+) born y;
    x1 in L_x\/ R_x by A18,XBOOLE_0:def 3;
    then A20: C in A by SURREALO:1,ORDINAL7:94;
    then A21: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A22:S.C = SC and
     for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A23:dom SC = Triangle C by PARTFUN1:def 2;
    A24: [x1,y] in Triangle C by Def5;
    A25: x1 + y = SC.[x1,y] by A21,A1,A2,A22,Th26;
    SC. [x1,y] = (union rng S).[x1,y]
    by A21,A23,A24,Th2,A1,A22;
    then A26:U.[x1,y] = b by A25,A18,A19,A22,Th5,A20,A24,A23;
    A27: [x1,y] in dom U by A22,Th5,A20,A24,A23;
    [x1,y] in [:L_x,{y}:] by A18,A19,ZFMISC_1:87;
    hence thesis by A26,A27,FUNCT_1:def 6;
  end;
  then A28:U.:[:L_x,{y}:] = L_x ++ {y} by A7,XBOOLE_0:def 10;
  A29: U.:[:R_x,{y}:] c= R_x ++ {y}
  proof
    let a be object;
    assume a in U.:[:R_x,{y}:];
    then consider b be object such that
    A30: b in dom U & b in [:R_x,{y}:] & U.b = a by FUNCT_1:def 6;
    consider x1,y1 be object such that
    A31:  x1 in R_x & y1 in {y} & b=[x1,y1] by ZFMISC_1:def 2,A30;
    reconsider x1,y1 as Surreal by A31,SURREAL0:def 16;
    set X1 = born x1,C = X1 (+) born y;
    x1 in L_x\/ R_x by A31,XBOOLE_0:def 3;
    then A32: C in A by SURREALO:1,ORDINAL7:94;
    then A33: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A34:S.C = SC and
     for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A35:y=y1 by A31,TARSKI:def 1;
    A36:dom SC = Triangle C by PARTFUN1:def 2;
    A37: [x1,y] in Triangle C by Def5;
    A38: x1 + y = SC.[x1,y] by A33,A1,A2,A34,Th26;
    A39: SC. [x1,y] = (union rng S).[x1,y] by A33,A36,A37,Th2,A1,A34;
    U.b = (union rng S).b by A34,Th5,A32,A35,A31,A37,A36;
    hence thesis by A31,Def8,A30,A39,A38,A35;
  end;
  R_x ++ {y} c= U.:[:R_x,{y}:]
  proof
    let b be object;
    assume b in R_x ++ {y};
    then consider x1,y1 be Surreal such that
    A40: x1 in R_x & y1 in {y} & b = x1 + y1 by Def8;
    A41: y=y1 by A40,TARSKI:def 1;
    set X1 = born x1,C = X1 (+) born y;
    x1 in L_x\/ R_x by A40,XBOOLE_0:def 3;
    then A42: C in A by SURREALO:1,ORDINAL7:94;
    then A43: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A44:S.C = SC and
     for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A45:dom SC = Triangle C by PARTFUN1:def 2;
    A46: [x1,y] in Triangle C by Def5;
    A47: x1 + y = SC.[x1,y] by A43,A1,A2,A44,Th26;
    SC. [x1,y] = (union rng S).[x1,y]
    by A43,A45,A46,Th2,A1,A44;
    then A48:U.[x1,y] = b by A47,A44,Th5,A42,A46,A45,A40,A41;
    A49: [x1,y] in dom U by A44,Th5,A42,A46,A45;
    [x1,y] in [:R_x,{y}:] by A40,A41,ZFMISC_1:87;
    hence thesis by A48,A49,FUNCT_1:def 6;
  end;
  then A50:U.:[:R_x,{y}:] = R_x ++ {y} by A29,XBOOLE_0:def 10;
  A51: U.:[:{x},L_y:] c= {x} ++ L_y
  proof
    let a be object;
    assume a in U.:[:{x},L_y:];
    then consider b be object such that
    A52: b in dom U & b in [:{x},L_y:] & U.b = a by FUNCT_1:def 6;
    consider x1,y1 be object such that
    A53: x1 in {x} & y1 in L_y & b=[x1,y1] by ZFMISC_1:def 2,A52;
    reconsider x1,y1 as Surreal by A53,SURREAL0:def 16;
    set Y1 = born y1,C = born x (+) Y1;
    y1 in L_y\/ R_y by A53,XBOOLE_0:def 3;
    then A54: C in A by SURREALO:1,ORDINAL7:94;
    then A55: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A56:S.C = SC and
     for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A57:x=x1 by A53,TARSKI:def 1;
    A58:dom SC = Triangle C by PARTFUN1:def 2;
    A59: [x,y1] in Triangle C by Def5;
    A60: x+ y1 = SC.[x,y1] by A55,A1,A2,A56,Th26;
    A61: SC. [x,y1] = (union rng S).[x,y1] by A55,A58,A59,Th2,A1,A56;
    U.b = (union rng S).b by A56,Th5,A54,A57,A53,A59,A58;
    hence thesis by A53,Def8,A52, A61,A60,A57;
  end;
  {x} ++ L_y c= U.:[:{x},L_y:]
  proof
    let b be object;
    assume b in {x} ++ L_y;
    then consider x1,y1 be Surreal such that
    A62: x1 in {x} & y1 in L_y & b = x1 + y1 by Def8;
    A63: x=x1 by A62,TARSKI:def 1;
    set Y1 = born y1,C = born x (+) Y1;
    y1 in L_y\/ R_y by A62,XBOOLE_0:def 3;
    then A64: C in A by SURREALO:1,ORDINAL7:94;
    then A65: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A66:S.C = SC and
     for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A67:dom SC = Triangle C by PARTFUN1:def 2;
    A68: [x,y1] in Triangle C by Def5;
    A69: x + y1 = SC.[x,y1] by A65,A1,A2,A66,Th26;
    SC. [x,y1] = (union rng S).[x,y1] by A65,A67,A68,Th2,A1,A66;
    then A70:U.[x,y1] = b by A69,A66,Th5,A64,A68,A67,A62,A63;
    A71: [x,y1] in dom U by A66,Th5,A64,A68,A67;
    [x,y1] in [:{x},L_y:] by A62,A63,ZFMISC_1:87;
    hence thesis by A70,A71,FUNCT_1:def 6;
  end;
  then A72:{x} ++ L_y = U.:[:{x},L_y:] by A51,XBOOLE_0:def 10;
  A73: U.:[:{x},R_y:] c= {x} ++ R_y
  proof
    let a be object;
    assume a in U.:[:{x},R_y:];
    then consider b be object such that
    A74: b in dom U & b in [:{x},R_y:] & U.b = a by FUNCT_1:def 6;
    consider x1,y1 be object such that
    A75: x1 in {x} & y1 in R_y & b=[x1,y1] by ZFMISC_1:def 2,A74;
    reconsider x1,y1 as Surreal by A75,SURREAL0:def 16;
    set Y1 = born y1,C = born x (+) Y1;
    y1 in L_y\/ R_y by A75,XBOOLE_0:def 3;
    then A76: C in A by SURREALO:1,ORDINAL7:94;
    then A77: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A78:S.C = SC and
     for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A79:x=x1 by A75,TARSKI:def 1;
    A80:dom SC = Triangle C by PARTFUN1:def 2;
    A81: [x,y1] in Triangle C by Def5;
    A82: x+ y1 = SC.[x,y1] by A77,A1,A2,A78,Th26;
    A83: SC. [x,y1] = (union rng S).[x,y1] by A77,A80,A81,Th2,A1,A78;
    U.b = (union rng S).b by A78,Th5,A76,A79,A75,A81,A80;
    hence thesis by A75,Def8,A74, A83,A82,A79;
  end;
  {x} ++ R_y c= U.:[:{x},R_y:]
  proof
    let b be object;
    assume b in {x} ++ R_y;
    then consider x1,y1 be Surreal such that
    A84: x1 in {x} & y1 in R_y & b = x1 + y1 by Def8;
    A85: x=x1 by A84,TARSKI:def 1;
    set Y1 = born y1,C = born x (+) Y1;
    y1 in L_y\/ R_y by A84,XBOOLE_0:def 3;
    then A86: C in A by SURREALO:1,ORDINAL7:94;
    then A87: C in succ A by ORDINAL1:8;
    then consider SC be ManySortedSet of Triangle C such that
    A88:S.C = SC and
    for x be object st x in Triangle C holds
      SC.x = [union rng (S|C).:([:L_L_x,{R_x}:]\/[:{L_x},L_R_x:] ),
        union rng(S|C).:([:R_L_x,{R_x}:]\/[:{L_x},R_R_x:] )] by A2;
    A89:dom SC = Triangle C by PARTFUN1:def 2;
    A90: [x,y1] in Triangle C by Def5;
    A91: x + y1 = SC.[x,y1] by A87,A1,A2,A88,Th26;
    SC. [x,y1] = (union rng S).[x,y1]
    by A87,A89,A90,Th2,A1,A88;
    then A92:U.[x,y1] = b by A91,A88,Th5,A86,A90,A89,A84,A85;
    A93: [x,y1] in dom U by A88,Th5,A86,A90,A89;
    [x,y1] in [:{x},R_y:] by A84,A85,ZFMISC_1:87;
    hence thesis by A92,A93,FUNCT_1:def 6;
  end;
  then A94:{x} ++ R_y = U.:[:{x},R_y:] by A73,XBOOLE_0:def 10;
  U.:([:L_x,{y}:]\/[:{x},L_y:])  = (L_x ++ {y}) \/({x} ++(L_y))
  by A28,A72,RELAT_1:120;
  hence thesis by A6,A50,A94,RELAT_1:120;
end;

::$N Commutativity of Addition for Surreal Number, Conway Ch.1 Th.3 (ii)
theorem Th29:
  x + y = y + x
proof
  defpred P[Ordinal] means
  for x,y be Surreal st born x (+) born y c= $1 holds x + y = y + x;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    A3: for x,y be Surreal st born x (+) born y c= D
    for X,Y be surreal-membered set
    st (X c= L_x\/R_x & Y={y}) or (Y c= L_y\/R_y & X={x})
    holds X ++ Y c= Y ++ X
    proof
      let x,y be Surreal such that A4: born x (+) born y c= D;
      let X,Y be surreal-membered set such that
      A5:(X c= L_x\/R_x & Y={y}) or (Y c= L_y\/R_y & X={x});
      let a be object;
      assume a in X++Y;
      then consider x1,y1 be Surreal such that
      A6: x1 in X & y1 in Y & a=x1+y1 by Def8;
      (born x1 in born x & born y1 = born y) or
      (born x1=born x & born y1 in born y) by SURREALO:1,A5,A6,TARSKI:def 1;
      then born x1 (+) born y1 in born x(+) born y by ORDINAL7:94;
      then x1+y1 = y1+x1 by A2,A4;
      hence thesis by A6,Def8;
    end;
    let x,y be Surreal such that A7: born x (+) born y c= D;
    L_x c= L_x\/R_x by XBOOLE_1:7;
    then L_x ++ {y} c= {y}++L_x c= L_x ++ {y} by A7,A3;
    then A8: L_x ++ {y} = {y}++L_x by XBOOLE_0:def 10;
    R_x c= L_x\/R_x by XBOOLE_1:7;
    then R_x ++ {y} c= {y}++R_x c= R_x ++ {y} by A7,A3;
    then A9: R_x ++ {y} = {y}++R_x by XBOOLE_0:def 10;
    L_y c= L_y\/R_y by XBOOLE_1:7;
    then L_y ++ {x} c= {x}++L_y c= L_y ++ {x} by A7,A3;
    then A10: L_y ++ {x} = {x}++L_y by XBOOLE_0:def 10;
    R_y c= L_y\/R_y by XBOOLE_1:7;
    then A11:R_y ++ {x} c= {x}++R_y c= R_y ++ {x} by A7,A3;
    thus x + y = [(L_x ++ {y})\/({x}++L_y), (R_x ++ {y}) \/({x}++R_y)] by Th28
    .= [({y} ++ L_x)\/(L_y++{x}), ({y}++R_x) \/(R_y++{x})]
    by A8,A9,A10,A11,XBOOLE_0:def 10
    .= y+x by Th28;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

definition
  let x,y be Surreal;
  redefine func x + y;  :: redefines + (SURREALR, definition)
  commutativity by Th29;
end;

Lm4: for X,Y be set holds X++Y c= Y++X
proof
  let X,Y be set;
  let z be object;
  assume z in X++Y;
  then consider x,y be Surreal such that
  A1: x in X & y in Y & z=x+y by Def8;
  thus thesis by A1,Def8;
end;

theorem Th30:
  for X,Y be set holds X++Y = Y++X
proof
  let X,Y be  set;
  X++Y c= Y++X  c= X ++ Y by Lm4;
  hence thesis by XBOOLE_0:def 10;
end;

definition
  let X,Y be set;
  redefine func X ++ Y;  :: redefines ++ (SURREALR, definition)
  commutativity by Th30;
end;

Lm5: for D be Ordinal holds
(for x,y be Surreal st born x (+) born y c= D holds
   x+y is surreal  & x+y in Day (born x (+) born y))
    & for x,y,z,xz,yz be Surreal st
(born x (+) born z) c= D &
(born y (+) born z) c= D & xz=x+z & yz = y+z holds xz <= yz iff x <= y
proof
  defpred P[Ordinal] means
  (for x,y be Surreal st born x (+) born y c= $1 holds
  x+y is surreal  & x+y in Day (born x (+) born y))
  & for x,y,z,xz,yz be Surreal st (born x (+) born z) c= $1 &
  (born y (+) born z) c= $1 & xz=x+z & yz = y+z holds xz <= yz iff x <= y;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    thus for x,y be Surreal st born x (+) born y c= D holds
    x+y is surreal & x+y in Day (born x (+) born y)
    proof
      let x,y be Surreal such that A3: born x (+) born y c= D;
      set Bx=born x,By=born y, B=Bx(+)By;
      A4: x in Day Bx & y in Day By by SURREAL0:def 18;
      x=[L_x,R_x] & y=[L_y,R_y];
      then A5: L_x << R_x & L_y << R_y by SURREAL0:46,A4;
      A6:L_x ++ {y} << R_x ++ {y}
      proof
        let l,r be Surreal such that A7: l in L_x ++ {y} & r in R_x ++ {y};
        consider l1,l2 be Surreal such that
        A8: l1 in L_x & l2 in {y} & l = l1+l2 by A7,Def8;
        consider r1,r2 be Surreal such that
        A9: r1 in R_x & r2 in {y} & r = r1+r2 by A7,Def8;
        A10:l2=y=r2 by A8,A9,TARSKI:def 1;
        set bl = born l1, br =born r1,bb = bl\/br,B=bb (+) born y;
        l1 in L_x \/R_x & r1 in L_x \/R_x by A8,A9,XBOOLE_0:def 3;
        then bl in born x & br in born x by SURREALO:1;
        then bb in born x by ORDINAL3:12;
        then A11:B in born x (+) born y by ORDINAL7:94;
        A12:bl (+)born y c= B by ORDINAL7:95,XBOOLE_1:7;
        A13: born r1 (+) born y c= B by ORDINAL7:95,XBOOLE_1:7;
        l1 < r1 by A8,A9,A5;
        hence l < r by A3,A8,A9,A10,A11,A12,A13,A2;
      end;
      A14:L_x << {x} << R_x & L_y << {y} << R_y by SURREALO:11;
      A15: {x}++L_y << R_x ++ {y}
      proof
        let l,r be Surreal such that A16: l in {x} ++ L_y & r in R_x ++ {y};
        consider l1,l2 be Surreal such that
        A17: l1 in {x} & l2 in L_y & l = l1+l2 by A16,Def8;
        consider r1,r2 be Surreal such that
        A18: r1 in R_x & r2 in {y} & r = r1+r2 by A16,Def8;
        A19: l1=x & r2=y by A17,A18,TARSKI:def 1;
        A20: l2 in L_y \/R_y & r1 in L_x \/R_x by A17,A18,XBOOLE_0:def 3;
        then born r1(+)born l2 in born x(+)born l2 in born x(+)born y
        by SURREALO:1,ORDINAL7:94;
        then A21: born r1(+)born l2 in D by A3,ORDINAL1:10;
        then reconsider rl=r1+l2,lr = l2+r1 as Surreal by A2;
        born l1 (+) born l2 in born x(+)born y
        by A20,SURREALO:1,A19,ORDINAL7:94;
        then A22:born l1 (+) born l2 in D by A3;
        set B1 = (born r1(+)born l2) \/ (born l1 (+) born l2);
        A23: B1 in D by A21,A22,ORDINAL3:12;
        A24: born l1 (+) born l2 c= B1 by XBOOLE_1:7;
        A25: born r1(+)born l2 c= B1 by XBOOLE_1:7;
        l1 < r1 by A18,A14,A17;
        then A26:  l < rl by A17,A24,A25,A23,A2;
        born r1 (+) born r2 in born x(+)born y
        by A20,SURREALO:1,A19,ORDINAL7:94;
        then A27:born r1 (+) born r2 in D by A3;
        set B2 = (born r1(+)born l2) \/ (born r1 (+) born r2);
        A28: B2 in D by A21,A27,ORDINAL3:12;
        A29: born r1 (+) born r2 c= B2 by XBOOLE_1:7;
        A30: born r1(+)born l2 c= B2 by XBOOLE_1:7;
        A31: l2 < r2 by A18,A14,A17;
        assume r <= l;
        then r <= rl by A26,SURREALO:4;
        hence thesis by A18,A29,A30,A28,A2,A31;
      end;
      A32: L_x++{y} << {x} ++ R_y
      proof
        let l,r be Surreal such that A33: l in L_x++{y} & r in {x} ++ R_y;
        consider l1,l2 be Surreal such that
        A34: l1 in L_x & l2 in {y} & l = l1+l2 by A33,Def8;
        consider r1,r2 be Surreal such that
        A35: r1 in {x} & r2 in R_y & r = r1+r2 by A33,Def8;
        A36:   l2=y & r1=x by A34,A35,TARSKI:def 1;
        A37: r2 in L_y \/R_y & l1 in L_x \/R_x by A34,A35,XBOOLE_0:def 3;
        then born l1(+)born r2 in born x(+)born r2 in born x(+)born y
        by SURREALO:1,ORDINAL7:94;
        then A38: born l1(+)born r2 in D by A3,ORDINAL1:10;
        then reconsider lr=l1+r2,rl = r2+l1 as Surreal by A2;
        born r1 (+) born r2 in born x(+)born y
        by A37,SURREALO:1,A36,ORDINAL7:94;
        then A39:born r1 (+) born r2 in D by A3;
        set B1 = (born l1(+)born r2) \/ (born r1 (+) born r2);
        A40: B1 in D by A38,A39,ORDINAL3:12;
        A41: born r1 (+) born r2 c= B1 by XBOOLE_1:7;
        A42: born l1(+)born r2 c= B1 by XBOOLE_1:7;
        l1 <r1 by A35,A14,A34;
        then A43:  lr < r by A35,A41,A42,A40,A2;
        born l1 (+) born l2 in born x(+)born y
        by A37,SURREALO:1,A36,ORDINAL7:94;
        then A44:born l1 (+) born l2 in D by A3;
        set B2 = (born l1(+)born r2) \/ (born l1 (+) born l2);
        A45: B2 in D by A38,A44,ORDINAL3:12;
        A46: born l1 (+) born l2 c= B2 by XBOOLE_1:7;
        A47: born l1(+)born r2 c= B2 by XBOOLE_1:7;
        A48: l2 < r2 by A35,A14,A34;
        assume r <= l;
        then lr <= l by A43,SURREALO:4;
        hence thesis by A34,A46,A47,A45,A2,A48;
      end;
      A49:{x} ++ L_y << {x} ++ R_y
      proof
        let l,r be Surreal such that A50: l in {x}++ L_y & r in {x} ++ R_y;
        consider l1,l2 be Surreal such that
        A51: l1 in {x} & l2 in L_y & l = l1+l2 by A50,Def8;
        consider r1,r2 be Surreal such that
        A52: r1 in {x} & r2 in R_y & r = r1+r2 by A50,Def8;
        A53: l1=x=r1 by A51,A52,TARSKI:def 1;
        set bl = born l2, br =born r2,bb = bl\/br,B=bb (+) born x;
        l2 in L_y \/R_y & r2 in L_y \/R_y by A51,A52,XBOOLE_0:def 3;
        then bl in born y & br in born y by SURREALO:1;
        then bb in born y by ORDINAL3:12;
        then A54:B in born y (+) born x by ORDINAL7:94;
        A55:bl (+)born x c= B by ORDINAL7:95,XBOOLE_1:7;
        A56: br (+) born x c= B by ORDINAL7:95,XBOOLE_1:7;
        l2 < r2 by A51,A52,A5;
        hence l < r by A51,A52,A53,A54,A3,A55,A56,A2;
      end;
      A57: (L_x ++ {y})\/({x}++L_y) << (R_x ++ {y}) \/({x}++R_y)
      proof
        let l,r be Surreal;
        assume l in (L_x ++ {y})\/({x}++L_y) & r in (R_x ++ {y}) \/({x}++R_y);
        then (l in (L_x ++ {y}) or l in ({x}++L_y)) &
        (r in (R_x ++ {y}) or r in ({x}++R_y)) by XBOOLE_0:def 3;
        hence thesis by A6,A15,A32,A49;
      end;
      for z be object st
        z in (L_x ++ {y})\/({x}++L_y) \/ ((R_x ++ {y}) \/({x}++R_y))
      ex O be Ordinal st O in born x (+) born y & z in Day O
      proof
        let z be object;
        assume z in (L_x ++ {y})\/({x}++L_y) \/ ((R_x ++ {y}) \/({x}++R_y));
        then z in (L_x++{y})\/({x}++L_y) or z in (R_x++{y})\/({x}++R_y)
        by XBOOLE_0:def 3;
        then per cases by XBOOLE_0:def 3;
        suppose z in L_x ++ {y} or z in R_x ++ {y};
          then (ex u,w be Surreal st u in L_x & w in {y} & z=u+w) or
          (ex u,w be Surreal st u in R_x & w in {y} & z=u+w) by Def8;
          then consider u,w be Surreal such that
          A58: (u in L_x or u in R_x )& w in {y} & z=u+w;
          u in L_x \/R_x by A58,XBOOLE_0:def 3;
          then born u in born x & w=y by A58,SURREALO:1,TARSKI:def 1;
          then A59: born u (+) born w in born x (+) born y by ORDINAL7:94;
          then P[born u (+) born w] by A3,A2;
          hence thesis by A59,A58;
        end;
        suppose z in {x} ++ L_y or z in {x} ++ R_y;
          then (ex u,w be Surreal st u in {x} & w in L_y & z=u+w) or
          (ex u,w be Surreal st u in {x} & w in R_y & z=u+w) by Def8;
          then consider u,w be Surreal such that
          A60:   u in {x} & (w in L_y or w in R_y) & z=u+w;
          w in L_y \/R_y by A60,XBOOLE_0:def 3;
          then born w in born y & u=x by A60,SURREALO:1,TARSKI:def 1;
          then A61: born u (+) born w in born x (+) born y by ORDINAL7:94;
          then P[born u (+) born w] by A3,A2;
          hence thesis by A61,A60;
        end;
      end;
      then [(L_x ++ {y})\/({x}++L_y), (R_x ++ {y}) \/({x}++R_y)]
      in Day (born x (+) born y) by A57,SURREAL0:46;
      hence thesis by Th28;
    end;
    defpred O[Ordinal] means
    for x,y,z,xz,yz be Surreal st born x (+) born y (+) born z c= $1 &
    (born x (+) born z) c= D & (born y (+) born z) c= D & xz=x+z & yz = y+z
    holds xz <= yz iff x <= y;
    A62: for E be Ordinal st for C be Ordinal st C in E holds O[C] holds O[E]
    proof
      let E be Ordinal;
      assume A63:for C be Ordinal st C in E holds O[C];
      let x,y,z,xz,yz be Surreal such that
      A64: born x (+) born y (+) born z c= E &
      (born x (+) born z) c= D &
      (born y (+) born z) c= D & xz=x+z & yz = y+z;
      A65:xz=[(L_x ++ {z})\/({x}++L_z),(R_x ++ {z})\/({x}++R_z)] by A64,Th28;
      A66:yz=[(L_y ++ {z})\/({y}++L_z),(R_y ++ {z})\/({y}++R_z)] by A64,Th28;
      thus xz <= yz implies x <= y
      proof
        assume xz <= yz;
        then A67: L_xz << {yz} & {xz} << R_yz by SURREAL0:43;
        A68: L_x << {y}
        proof
          let xL,r be Surreal such that A69:xL in L_x & r in {y};
          A70:xL in L_x \/R_x by A69,XBOOLE_0:def 3;
          then A71: born xL (+) born z in born x (+) born z
          by SURREALO:1,ORDINAL7:94;
          then reconsider xLz=xL+z as Surreal by A2,A64;
          born xL (+) born y in born x (+) born y
          by A70,SURREALO:1,ORDINAL7:94;
          then A72: born xL (+) born y (+) born z in
          born x (+) born y (+) born z by ORDINAL7:94;
          A73: born xL (+) born z c= D by A71,A64,ORDINAL1:def 2;
          A74:r=y by A69,TARSKI:def 1;
          assume not xL < r;
          then A75:yz <= xLz by A74,A72,A64,A63,A73;
          z in {z} by TARSKI:def 1;
          then xLz in L_x ++ {z} by A69,Def8;
          then A76: xLz in L_xz by A65,XBOOLE_0:def 3;
          yz in {yz} by TARSKI:def 1;
          hence thesis by A75,A76,A67;
        end;
        {x} << R_y
        proof
          let l,yR be Surreal such that A77:l in {x} & yR in R_y;
          A78: yR in L_y \/R_y by A77,XBOOLE_0:def 3;
          then A79: born yR (+) born z in born y (+) born z
          by SURREALO:1,ORDINAL7:94;
          then reconsider yRz=yR+z as Surreal by A64,A2;
          born x (+) born yR in born x (+) born y
          by A78,SURREALO:1,ORDINAL7:94;
          then A80: born x (+) born yR (+) born z in
          born x (+) born y (+) born z by ORDINAL7:94;
          A81: born yR (+) born z c= D by A79,A64,ORDINAL1:def 2;
          A82:l=x by A77,TARSKI:def 1;
          assume not l < yR;
          then A83:yRz <= xz by A82,A80,A63,A64,A81;
          z in {z} by TARSKI:def 1;
          then yRz in R_y ++ {z} by A77,Def8;
          then A84: yRz in R_yz by A66,XBOOLE_0:def 3;
          xz in {xz} by TARSKI:def 1;
          hence thesis by A83,A84,A67;
        end;
        hence thesis by A68,SURREAL0:43;
      end;
      assume A85: x <=y;
      then A86:L_x << {y} & {x} << R_y by SURREAL0:43;
      A87: L_x ++ {z} <<{yz}
      proof
        let L,R be Surreal such that A88:L in L_x ++ {z} & R in {yz};
        consider x1,z1 be Surreal such that
        A89:   x1 in L_x & z1 in {z} & L = x1+z1 by A88,Def8;
        A90:z1=z & R=yz by A88,A89,TARSKI:def 1;
        A91: x1 in L_x\/R_x by A89,XBOOLE_0:def 3;
        then born x1 (+) born y in born x (+) born y
        by SURREALO:1,ORDINAL7:94;
        then A92: born x1 (+) born y (+) born z in
        born x (+) born y (+) born z by ORDINAL7:94;
        y in {y} by TARSKI:def 1;
        then A93: x1 < y by A89,A86;
        born x1 (+) born z in born x (+) born z by A91,SURREALO:1,ORDINAL7:94;
        then (born x1 (+) born z) c= D by A64,ORDINAL1:def 2;
        hence L <R by A93,A90,A64,A92,A63,A89;
      end;
      A94: {x}++L_z <<{yz}
      proof
        let L,R be Surreal such that A95:L in {x} ++ L_z & R in {yz};
        consider x1,z1 be Surreal such that
        A96:   x1 in {x} & z1 in L_z & L = x1+z1 by A95,Def8;
        A97:x1=x & R=yz by A95,A96,TARSKI:def 1;
        assume A98: R <= L;
        A99: z1 in L_z \/R_z by A96,XBOOLE_0:def 3;
        then A100: born x (+) born z1 in born x (+) born z &
        born y (+) born z1 in born y (+) born z by SURREALO:1,ORDINAL7:94;
        then reconsider xz1=x+z1,yz1=y+z1 as Surreal by A2,A64;
        A101:born x (+) born y (+) born z1 in born x (+) born y (+) born z
        by A99,SURREALO:1,ORDINAL7:94;
        A102: born x (+) born z1 c= D & born y (+) born z1 c= D
        by A100,A64,ORDINAL1:def 2;
        A103: xz1 <= yz1 by A85,A101,A64,A63,A102;
        A104:yz= [(L_y ++ {z})\/({y}++L_z),(R_y ++ {z})\/({y}++R_z)]
        by Th28,A64;
        A105: L_yz << {yz} by SURREALO:11;
        A106: yz in {yz} by TARSKI:def 1;
        y in {y} by TARSKI:def 1;
        then yz1 in {y}++L_z by A96,Def8;
        then yz1 in (L_y ++ {z})\/({y}++L_z) by XBOOLE_0:def 3;
        hence thesis by A103,A106,A105,A104,A96,A97,A98,SURREALO:4;
      end;
      A107: {xz} << R_y ++ {z}
      proof
        let L,R be Surreal such that A108:L in {xz} & R in R_y ++ {z};
        consider y1,z1 be Surreal such that
        A109:y1 in R_y & z1 in {z} & R = y1+z1 by A108,Def8;
        A110:z1=z & L=xz by A108,A109,TARSKI:def 1;
        A111:y1 in L_y\/R_y by A109,XBOOLE_0:def 3;
        then born x (+) born y1 in born x (+) born y
        by SURREALO:1,ORDINAL7:94;
        then A112: born x (+) born y1 (+) born z in
        born x (+) born y (+) born z by ORDINAL7:94;
        x in {x} by TARSKI:def 1;
        then A113: x < y1 by A109,A86;
        born y1 (+) born z in born y (+) born z
        by A111,SURREALO:1,ORDINAL7:94;
        then (born y1 (+) born z) c= D by A64,ORDINAL1:def 2;
        hence L <R by A113,A110,A64,A112,A63,A109;
      end;
      A114:{xz} << {y}++R_z
      proof
        let L,R be Surreal such that A115:L in {xz} & R in {y}++R_z;
        consider y1,z2 be Surreal such that
        A116:y1 in {y} & z2 in R_z & R = y1+z2 by A115,Def8;
        A117:y1=y & L=xz by A115,A116,TARSKI:def 1;
        assume A118: R <= L;
        A119: z2 in L_z \/R_z by A116,XBOOLE_0:def 3;
        then A120: born x (+) born z2 in born x (+) born z &
        born y (+) born z2 in born y (+) born z by SURREALO:1,ORDINAL7:94;
        then reconsider xz2=x+z2,yz2=y+z2 as Surreal by A2,A64;
        A121: born x (+) born y (+) born z2 in born x (+) born y (+) born z
        by A119,SURREALO:1,ORDINAL7:94;
        born x (+) born z2 c= D & born y (+) born z2 c= D
        by A120,A64,ORDINAL1:def 2;
        then
        A122: xz2 <= yz2 by A64,A63,A121,A85;
        A123:xz= [(L_x ++ {z})\/({x}++L_z), (R_x ++ {z}) \/({x}++R_z)]
        by Th28,A64;
        A124: {xz} << R_xz by SURREALO:11;
        A125: xz in {xz} by TARSKI:def 1;
        x in {x} by TARSKI:def 1;
        then xz2 in {x}++R_z by A116,Def8;
        then xz2 in (R_x ++ {z}) \/({x}++R_z) by XBOOLE_0:def 3;
        hence thesis by A123,A122,A125,A124,A116,A117,A118,SURREALO:4;
      end;
      A126: L_xz << {yz}
      proof
        let L,R be Surreal such that A127:L in L_xz & R in {yz};
        xz= [(L_x ++ {z})\/({x}++L_z), (R_x ++ {z}) \/({x}++R_z)] by Th28,A64;
        then L in (L_x ++ {z}) or L in ({x}++L_z) by A127,XBOOLE_0:def 3;
        hence thesis by A127,A87,A94;
      end;
      {xz} << R_yz
      proof
        let L,R be Surreal such that A128:L in {xz} & R in R_yz;
        yz= [(L_y ++ {z})\/({y}++L_z), (R_y ++ {z}) \/({y}++R_z)] by Th28,A64;
        then R in (R_y ++ {z}) or R in ({y}++R_z) by A128,XBOOLE_0:def 3;
        hence thesis by A128,A107,A114;
      end;
      hence  xz <= yz by A126,SURREAL0:43;
    end;
    A129:for E be Ordinal holds O[E] from ORDINAL1:sch 2(A62);
    let x,y,z,xz,yz be Surreal such that
    A130:(born x (+) born z) c= D &
    (born y (+) born z) c= D & xz=x+z & yz = y+z;
    O[born x (+) born y (+) born z] by A129;
    hence thesis by A130;
  end;
  for E be Ordinal holds P[E] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

registration
  let x,y;
  cluster x + y  -> surreal;
  coherence by Lm5;
end;

definition
  let x,y be Surreal;
  func x - y -> Surreal equals
     x + (-y);
  coherence;
end;

theorem
  born (x+y) c= born x (+) born y
proof
  x+y in Day (born x (+) born y) by Lm5;
  hence thesis by SURREAL0:def 18;
end;

registration
  let X,Y be set;
  cluster X ++ Y -> surreal-membered;
  coherence
  proof
    let z be object;
    assume z in X ++ Y;
    then ex x,y be Surreal st x in X & y in Y & x+y=z by Def8;
    hence thesis;
  end;
end;

::$N Transitive Law of Addition for Surreal Number, Conway Ch.1 Th.5
theorem Th32:
  x <= y iff x+z <= y+z
proof
  set Bx=born x,By=born y,Bz=born z;
  set Bxz=Bx(+)Bz,Byz=By(+)Bz;
  Bxz c= Bxz\/Byz & Byz c= Bxz\/Byz by XBOOLE_1:7;
  hence thesis by Lm5;
end;

theorem Th33:
  for X1,X2,Y be set holds
    (X1\/X2) ++ Y = (X1 ++ Y) \/ (X2++Y)
proof
  let X1,X2,Y be set;
  thus (X1\/X2) ++ Y c= (X1 ++ Y) \/ (X2++Y)
  proof
    let xy be object;
    assume xy in (X1\/X2)++Y;
    then consider x,y be Surreal such that
    A1:  x in X1\/X2 & y in Y & xy=x+y by Def8;
    x in X1 or x in X2 by A1,XBOOLE_0:def 3;
    then xy in (X1 ++ Y) or xy in (X2++Y) by A1,Def8;
    hence thesis by XBOOLE_0:def 3;
  end;
  let xy be object;
  assume xy in (X1 ++ Y) \/ (X2++Y);
  then per cases by XBOOLE_0:def 3;
  suppose xy in X1++Y;
    then consider x,y be Surreal such that
    A2:  x in X1 & y in Y & xy=x+y by Def8;
    x in X1\/X2 by A2,XBOOLE_0:def 3;
    hence thesis by A2,Def8;
  end;
  suppose xy in X2++Y;
    then consider x,y be Surreal such that
    A3:  x in X2 & y in Y & xy=x+y by Def8;
    x in X1\/X2 by A3,XBOOLE_0:def 3;
    hence thesis by A3,Def8;
  end;
end;

theorem
  for X,Y1,Y2 be set holds
    X ++ (Y1\/Y2) = (X ++ Y1) \/ (X++Y2) by Th33;

theorem
  for X1,X2,Y1,Y2 be set st X1 <=_ X2 & Y1 <=_ Y2
    holds X1++Y1 <=_ X2++Y2
proof
   let X1,X2,Y1,Y2 be set such that
   A1: X1 <=_ X2 & Y1 <=_ Y2;
   let x such that A2: x in X1++Y1;
   consider x1,y1 be Surreal such that
   A3:x1 in X1 & y1 in Y1 & x = x1 + y1 by A2,Def8;
   consider x2,x3 be Surreal such that
   A4:x2 in X2 & x3 in X2 & x2 <= x1 <= x3 by A3,A1;
   consider y2,y3 be Surreal such that
   A5:y2 in Y2 & y3 in Y2 & y2 <= y1 <= y3 by A3,A1;
   take z2=x2+y2,z3=x3+y3;
   x2+y2 <= x1+y2 <= x1 +y1 <= x3+y1 <= x3+y3 by A4,A5,Th32;
   hence thesis by A4,A5,Def8,A3,SURREALO:4;
end;

theorem Th36:
  {x}++{y}={x+y}
proof
  thus {x}++{y}c={x+y}
  proof
    let xy be object;
    assume xy in {x}++{y};
    then consider a,b be Surreal such that
    A1:a in {x} & b in {y} & xy=a+b by Def8;
    a=x & b=y by A1,TARSKI:def 1;
    hence thesis by A1,TARSKI:def 1;
  end;
  A2:x in {x} & y in {y} by TARSKI:def 1;
  o in {x+y} implies o in {x}++{y}
  proof
  assume o in {x+y};
  then o=x+y by TARSKI:def 1;
  hence thesis by A2,Def8;
  end;
  hence thesis by TARSKI:def 3;
end;

::$N Associativity of Addition for Surreal Number, Conway Ch.1 Th.3(iii)
theorem Th37:
  (x+y)+z = x+(y+z)
proof
  defpred P[Ordinal] means
    for x,y,z be Surreal st born x (+) born y (+) born z c= $1
    holds (x+y)+z = x+(y+z);
  A1:for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    A3:for X,Y,Z be set st for x,y,z be Surreal st x in X & y in Y & z in Z
       holds born x (+) born y (+) born z in D holds
    X++(Y++Z) = (X++Y)++Z
    proof
      let X,Y,Z be set such that
      A4:for x,y,z be Surreal st x in X & y in Y & z in Z holds
      born x (+) born y (+) born z in D;
      thus X++(Y++Z) c= (X++Y)++Z
      proof
        let xyz be object;
        assume xyz in X++(Y++Z);
        then consider x,yz be Surreal such that
        A5: x in X & yz in Y++Z & xyz = x+yz by Def8;
        consider y,z be Surreal such that
        A6: y in Y & z in Z & yz = y+z by A5,Def8;
        x+y in X++Y by A5,A6,Def8;
        then A7:x+y+z in (X++Y)++Z by A6,Def8;
        born x (+) born y (+) born z in D by A5,A6,A4;
        hence thesis by A5,A6,A7,A2;
      end;
      let xyz be object;
      assume xyz in X++Y++Z;
      then consider xy,z be Surreal such that
      A8: xy in X++Y & z in Z & xyz = xy+z by Def8;
      consider x,y be Surreal such that
      A9: x in X & y in Y & xy = x+y by A8,Def8;
      y+z in Y++Z by A8,A9,Def8;
      then A10:x+(y+z) in X++(Y++Z) by A9,Def8;
      born x (+) born y (+) born z in D by A8,A9,A4;
      hence thesis by A8,A9,A10,A2;
    end;
    let x,y,z be Surreal such that A11:born x (+) born y (+) born z c= D;
    set xy=x+y,yz=y+z;
    A12: x + y=[(L_x ++ {y})\/({x} ++ L_y),(R_x ++ {y})\/({x} ++ R_y)]
    by Th28;
    A13: y + z=[(L_y ++ {z})\/({y} ++ L_z),(R_y ++ {z})\/({y} ++ R_z)]
    by Th28;
    A14:for a,b,c be Surreal st a in L_x & b in {y} & c in {z} holds
      born a (+) born b (+) born c in D
    proof
      let a,b,c be Surreal;
      assume a in L_x & b in {y} & c in {z};
      then A15:a in L_x\/R_x & b =y & c = z by TARSKI:def 1,XBOOLE_0:def 3;
      then born a (+) born b in born x (+) born y by SURREALO:1,ORDINAL7:94;
      then born a (+) born b (+) born c in
      born x (+) born y (+) born z by ORDINAL7:94,A15;
      hence thesis by A11;
    end;
    A16:for a,b,c be Surreal st a in {x} & b in L_y & c in {z} holds
    born a (+) born b (+) born c in D
    proof
      let a,b,c be Surreal;
      assume a in {x} & b in L_y& c in {z};
      then A17:a=x & b in L_y\/R_y & c = z by TARSKI:def 1,XBOOLE_0:def 3;
      then born a (+) born b in born x (+) born y by SURREALO:1,ORDINAL7:94;
      then born a (+) born b (+) born c in
      born x (+) born y (+) born z by ORDINAL7:94,A17;
      hence thesis by A11;
    end;
    A18:for a,b,c be Surreal st a in {x} & b in {y} & c in L_z holds
    born a (+) born b (+) born c in D
    proof
      let a,b,c be Surreal;
      assume a in {x} & b in {y} & c in L_z;
      then a=x & b=y & c in L_z\/R_z by TARSKI:def 1,XBOOLE_0:def 3;
      then born a (+) born b (+) born c in
      born x (+) born y (+) born z by SURREALO:1,ORDINAL7:94;
      hence thesis by A11;
    end;
    A19:(((L_x ++ {y})\/({x} ++ L_y)) ++ {z})\/({xy} ++ L_z)
    = ((L_x ++ {y}) ++ {z})\/(({x} ++ L_y) ++ {z})\/({xy} ++ L_z) by Th33
    .= (L_x ++ ({y} ++ {z}))\/(({x} ++ L_y) ++ {z})\/({xy} ++ L_z) by A14,A3
    .= (L_x ++ ({y} ++ {z}))\/({x} ++ (L_y ++ {z}))\/({xy} ++ L_z) by A16,A3
    .= (L_x ++ ({y} ++ {z}))\/({x} ++ (L_y ++ {z}))\/(( {x}++{y}) ++ L_z)
    by Th36
    .= (L_x ++ ({y} ++ {z}))\/({x} ++ (L_y ++ {z}))\/({x}++({y} ++ L_z))
    by A18,A3
    .= (L_x ++ ({y} ++ {z}))\/(({x} ++ (L_y ++ {z}))\/({x}++({y} ++ L_z)))
    by XBOOLE_1:4
    .= (L_x ++ ({y} ++ {z}))\/({x} ++ ((L_y ++ {z})\/({y} ++ L_z))) by Th33
    .= (L_x ++ ({yz}))\/({x} ++ (L_yz)) by A13,Th36;
    A20:for a,b,c be Surreal st a in R_x & b in {y} & c in {z} holds
    born a (+) born b (+) born c in D
    proof
      let a,b,c be Surreal;
      assume a in R_x & b in {y} & c in {z};
      then A21:a in L_x\/R_x & b =y & c = z by TARSKI:def 1,XBOOLE_0:def 3;
      then born a (+) born b in born x (+) born y by SURREALO:1,ORDINAL7:94;
      then born a (+) born b (+) born c in
      born x (+) born y (+) born z by ORDINAL7:94,A21;
      hence thesis by A11;
    end;
    A22:for a,b,c be Surreal st a in {x} & b in R_y & c in {z} holds
    born a (+) born b (+) born c in D
    proof
      let a,b,c be Surreal;
      assume a in {x} & b in R_y& c in {z};
      then A23:a=x & b in L_y\/R_y & c = z by TARSKI:def 1,XBOOLE_0:def 3;
      then born a (+) born b in born x (+) born y by SURREALO:1,ORDINAL7:94;
      then born a (+) born b (+) born c in
      born x (+) born y (+) born z by ORDINAL7:94,A23;
      hence thesis by A11;
    end;
    A24:for a,b,c be Surreal st a in {x} & b in {y} & c in R_z holds
    born a (+) born b (+) born c in D
    proof
      let a,b,c be Surreal;
      assume a in {x} & b in {y} & c in R_z;
      then a=x & b=y & c in L_z\/R_z by TARSKI:def 1,XBOOLE_0:def 3;
      then born a (+) born b (+) born c in
      born x (+) born y (+) born z by SURREALO:1,ORDINAL7:94;
      hence thesis by A11;
    end;
    A25: (((R_x ++ {y}) \/({x} ++ R_y)) ++ {z}) \/({xy} ++ R_z) =
    ((R_x ++ {y})++ {z}) \/(({x} ++ R_y) ++ {z})\/({xy} ++ R_z) by Th33
    .= (R_x ++ ({y}++ {z})) \/(({x} ++ R_y) ++ {z})\/({xy} ++ R_z) by A20,A3
    .= (R_x ++ ({yz})) \/(({x} ++ R_y) ++ {z})\/({xy} ++ R_z) by Th36
    .= (R_x ++ {yz}) \/(({x} ++ R_y) ++ {z})\/(({x}++{y}) ++ R_z) by Th36
    .= (R_x ++ {yz}) \/({x} ++ (R_y ++ {z}))\/(({x}++{y}) ++ R_z) by A22,A3
    .= (R_x ++ {yz}) \/({x} ++ (R_y ++ {z}))\/({x}++({y} ++ R_z)) by A24,A3
    .= (R_x ++ {yz}) \/(({x} ++ (R_y ++ {z}))\/({x}++({y} ++ R_z)))
    by XBOOLE_1:4
    .= (R_x ++ {yz}) \/({x} ++ R_yz) by A13,Th33;
    xy +z = [(L_xy ++ {z})\/({xy} ++ L_z), (R_xy ++ {z}) \/({xy} ++ R_z)]
    by Th28
    .= [(L_x ++ ({yz}))\/({x} ++ (L_yz)),
    (R_x ++ {yz}) \/({x} ++ R_yz)] by A25,A19,A12;
    hence thesis by Th28;
  end;
  A26:for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  P[born x (+) born y (+) born z] by A26;
  hence thesis;
end;

::$N Additive Identity for Surreal Number, Conway Ch.1 Th.3(i)
theorem Th38:
  x + 0_No = x
proof
  set y=0_No;
  defpred P[Ordinal] means
  for x be Surreal st born x = $1 holds x + y = x;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x be Surreal such that A3: born x=D;
    {x} ++ L_y = {} & {x} ++ R_y = {} by Th27;
    then A4:(L_x ++ {y})\/({x} ++ L_y) = L_x ++ {y} &
    (R_x ++ {y}) \/({x} ++ R_y)=R_x ++ {y};
    A5:for Y be set st Y c= L_x\/R_x holds Y ++{y}=Y
    proof
      let Y be set such that A6:Y c= L_x\/R_x;
      thus Y ++{y}c=Y
      proof
        let xy be object such that
        A7:  xy in Y ++ {y};
        consider x1,y1 be Surreal such that
        A8:  x1 in Y & y1 in {y} & xy=x1+y1 by A7,Def8;
        y1=y by A8,TARSKI:def 1;
        hence thesis by A2,A8,A6,SURREALO:1,A3;
      end;
      let xy be object;
      assume A9:xy in Y;
      then reconsider xy as Surreal by SURREAL0:def 16,A6;
      A10:y in {y} by TARSKI:def 1;
      xy + y =xy by A2,A9,A6,A3,SURREALO:1;
      hence thesis by A10,A9,Def8;
    end;
    L_x ++ {y} = L_x & R_x ++ {y} = R_x by XBOOLE_1:7,A5;
    then x+y = [L_x,R_x] by A4,Th28;
    hence thesis;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

registration
  let x;
  reduce x + 0_No to x;
  reducibility by Th38;
end;

::$N Property of The Aditive Inverse for Surreal Number, Conway Ch.1 Th.4(iii)
theorem Th39:
  x - x == 0_No
proof
  set y=0_No;
  defpred P[Ordinal] means
  for x be Surreal st born x = $1 holds x + -x == y;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x be Surreal such that A3: born x=D;
    set X=x+-x;
    A4: -x = [-- R_x, --L_x] by Th7;
    then L_(-x) = --R_x & R_(-x) = --L_x;
    then A5:x +- x =
    [(L_x ++ {-x})\/({x} ++ --R_x), (R_x ++ {-x}) \/({x} ++ --L_x)] by Th28;
    A6:L_X << {y}
    proof
      let l,r be Surreal such that
      A7: l in L_X & r in {y} & r <= l;
      A8:r=y by A7,TARSKI:def 1;
      A9:{r} << R_l by A7,SURREAL0:43;
      per cases by A5,A7,XBOOLE_0:def 3;
      suppose
        l in {x} ++ --R_x;
        then consider ll,lr be Surreal such that
        A10: ll in {x} & lr in --R_x & l = ll+lr by Def8;
        consider xr be Surreal such that
        A11:  xr in R_x & -xr = lr by A10,Def4;
        x=ll by A10,TARSKI:def 1;
        then A12: l = [(L_x ++ {-xr})\/({x} ++ L_(-xr)),
        (R_x ++ {-xr}) \/({x} ++ R_(-xr))] by Th28,A10,A11;
        xr in L_x \/R_x by A11,XBOOLE_0:def 3;
        then A13: xr +- xr == y by A3,A2,SURREALO:1;
        -xr in {-xr} by TARSKI:def 1;
        then xr +-xr in (R_x ++ {-xr}) by A11,Def8;
        then xr +-xr in R_l by A12,XBOOLE_0:def 3;
        hence thesis by A13,A9,A7,A8;
      end;
      suppose
        l in L_x ++ {-x};
        then consider xl,lr be Surreal such that
        A14: xl in L_x & lr in {-x} & l = xl+lr by Def8;
        lr = -x by A14,TARSKI:def 1;
        then A15:l = [(L_xl ++ {-x})\/({xl} ++ L_(-x)),
        (R_xl ++ {-x}) \/({xl} ++ R_(-x))] by A14,Th28;
        xl in L_x \/R_x by A14,XBOOLE_0:def 3;
        then A16: xl +- xl == y by A3,A2,SURREALO:1;
        -xl in --(L_x) & xl in {xl} by A14,Def4,TARSKI:def 1;
        then xl +- xl in ({xl} ++ --(L_x)) by Def8;
        then xl +- xl in R_l by A4,A15,XBOOLE_0:def 3;
        hence contradiction by A16,A9,A7,A8;
      end;
    end;
    {X} << R_y;
    hence X <= y by A6,SURREAL0:43;
    A17:{y} << R_X
    proof
      let l,r be Surreal such that
      A18: l in {y} & r in R_X & r <= l;
      A19:l=y by A18,TARSKI:def 1;
      A20:  L_r << {l} by SURREAL0:43,A18;
      per cases by A5,A18,XBOOLE_0:def 3;
      suppose r in R_x ++ {-x};
        then consider ll,lr be Surreal such that
        A21: ll in R_x & lr in {-x} & r = ll+lr by Def8;
        lr = -x by A21,TARSKI:def 1;
        then A22: r = [(L_ll ++ {-x})\/({ll} ++ L_(-x)),
        (R_ll ++ {-x}) \/({ll} ++ R_(-x))] by A21,Th28;
        ll in L_x \/R_x by A21,XBOOLE_0:def 3;
        then A23: ll +- ll == y by A3,A2,SURREALO:1;
        -ll in L_(-x) & ll in {ll} by A21,Def4,A4,TARSKI:def 1;
        then ll +- ll in {ll} ++ L_(-x) by Def8;
        then ll +- ll in L_r by A22,XBOOLE_0:def 3;
        hence thesis by A23,A20,A19,A18;
      end;
      suppose r in {x} ++ --L_x;
        then consider ll,lr be Surreal such that
        A24: ll in {x} & lr in --L_x & r = ll+lr by Def8;
        consider xr be Surreal such that
        A25: xr in L_x & -xr = lr by A24,Def4;
        x=ll by A24,TARSKI:def 1;
        then A26:r = [(L_x ++ {-xr})\/({x} ++ L_(-xr)),
        (R_x ++ {-xr}) \/({x} ++ R_(-xr))]
        by Th28,A24,A25;
        xr in L_x \/R_x by A25,XBOOLE_0:def 3;
        then A27: xr +- xr == y by A3,A2,SURREALO:1;
        -xr in {-xr} by TARSKI:def 1;
        then xr +-xr in (L_x ++ {-xr}) by A25,Def8;
        then xr +-xr in L_r by A26,XBOOLE_0:def 3;
        hence thesis by A27,A20,A18,A19;
      end;
    end;
    L_y << {X};
    hence thesis by SURREAL0:43,A17;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

::$N Conway Ch.1 Th.4(i)
theorem Th40:
  -(x+y) = -x + -y
proof
  defpred P[Ordinal] means
  for x,y be Surreal st born x (+) born y c= $1 holds - (x + y) = -x + -y;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    A3: for x,y be Surreal st born x (+) born y c= D
    for X,Y be surreal-membered set
    st (X c= L_x\/R_x & Y={y}) or (Y c= L_y\/R_y & X={x})
    holds -- (X ++ Y) = (--X) ++ (--Y)
    proof
      let x,y be Surreal such that A4: born x (+) born y c= D;
      let X,Y be surreal-membered set such that
      A5:(X c= L_x\/R_x & Y={y}) or (Y c= L_y\/R_y & X={x});
      thus -- (X ++ Y) c= (--X) ++ (--Y)
      proof
        let a be object;
        assume a in -- (X ++ Y);
        then consider  z be Surreal such that
        A6:z in (X ++ Y) & a=-z by Def4;
        consider x1,y1 be Surreal such that
        A7: x1 in X & y1 in Y & z=x1+y1 by A6,Def8;
        (born x1 in born x & born y1 = born y) or
        (born x1=born x & born y1 in born y) by SURREALO:1,A5,A7,TARSKI:def 1;
        then born x1 (+) born y1 in born x(+) born y by ORDINAL7:94;
        then A8: a = (-x1) + (-y1) by A2,A4,A6,A7;
        -x1 in --X & -y1 in --Y by A7,Def4;
        hence thesis by A8,Def8;
      end;
      let a be object;
      assume a in (--X) ++ (--Y);
      then consider x2,y2 be Surreal such that
      A9: x2 in --X & y2 in --Y & a=x2+y2 by Def8;
      consider x1 be Surreal such that
      A10: x1 in X & x2=-x1 by A9,Def4;
      consider y1 be Surreal such that
      A11: y1 in Y & y2=-y1 by A9,Def4;
      A12: x1+y1 in X ++ Y by A10,A11,Def8;
      (born x1 in born x & born y1 = born y) or
      (born x1=born x & born y1 in born y)
      by SURREALO:1,A5,A10,A11,TARSKI:def 1;
      then born x1 (+) born y1 in born x(+) born y by ORDINAL7:94;
      then -(x1+y1) = a by A2,A4,A10,A11,A9;
      hence thesis by A12,Def4;
    end;
    let x,y be Surreal such that A13: born x (+) born y c= D;
    A14:L_x c= L_x\/R_x by XBOOLE_1:7;
    A15:R_x c= L_x\/R_x by XBOOLE_1:7;
    A16:L_y c= L_y\/R_y by XBOOLE_1:7;
    A17:R_y c= L_y\/R_y by XBOOLE_1:7;
    A18: x + y = [(L_x ++ {y})\/({x}++L_y), (R_x ++ {y}) \/({x}++R_y)]
    by Th28;
    A19:  L_(-x) = --R_x & R_(-x) = --L_x & (-y)`1 = --R_y & (-y)`2 = --L_y
    by Th8;
    A20:{-x} = --{x} & {-y} = --{y} by Th21;
    A21: R_(-x) ++ {-y}  = --(L_x ++{y}) by A19,A20, A14,A3,A13;
    A22: {-x}++R_(-y) =--({x}++ L_y) by A19,A20,A16,A3,A13;
    A23: L_(-x) ++ {-y} = --(R_x ++{y}) by A19,A20,A15,A3,A13;
    {-x}++L_(-y) =--({x}++ R_y) by A19,A20,A17,A3,A13;
    then A24: (L_(-x) ++ {-y})\/({-x}++L_(-y)) =
    -- ((R_x ++{y})\/({x}++ R_y)) by A23,Th20;
    thus -x + -y = [(L_(-x) ++ {-y})\/({-x}++L_(-y)),
    (R_(-x) ++ {-y}) \/({-x}++R_(-y))] by Th28
    .= [-- R_(x+y), -- L_(x+y)] by A18,A22,A21,Th20,A24
    .= - (x+y) by Th7;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

theorem Th41:
  x+y <= z iff x <= z - y
proof
  thus x+y <= z implies x <= z - y
  proof
    assume x+y <= z;
    then A1: x+y +-y <= z +-y by Th32;
    y -y == 0_No by Th39;
    then x+(y +-y) >= x+0_No by Th32;
    then x+y +-y >= x by Th37;
    hence thesis by A1,SURREALO:4;
  end;
  assume x <= z - y;
  then x+y <= z +- y +y by Th32;
  then A2: x+y <= z + (- y +y) by Th37;
  y -y == 0_No by Th39;
  then z + (-y +y) <=z+0_No =z by Th32;
  hence thesis by A2,SURREALO:4;
end;

theorem Th42:
  x+y < z iff x < z - y
proof
  thus x+y < z implies x < z - y
  proof
    assume A1: x+y < z & not x < z - y;
    then x+y >= (z +- y)+y by Th32;
    then A2: x+y >= z +(- y+y) by Th37;
    y -y == 0_No by Th39;
    then z + (-y +y) >=z+0_No =z by Th32;
    hence thesis by A2,A1,SURREALO:4;
  end;
  assume A3:x < z - y & z <= x+y;
  then z +-y <= x+y+-y by Th32;
  then A4:z +-y <= x+(y+-y) by Th37;
  y -y == 0_No by Th39;
  then x+(y+-y) <=x+0_No =x by Th32;
  hence thesis by A4,A3,SURREALO:4;
end;

theorem Th43:
  x <= y & z <= t implies x+z <= y+t
proof
  assume x <= y & z <= t;
  then x+z <= y+z & y+z <= y+t by Th32;
  hence thesis by SURREALO:4;
end;

theorem Th44:
  x <= y & z < t implies x+z < y+t
proof
  assume A1: x <= y & z < t;
  assume not x+z < y+t;
  then A2: z >= y+t - x by Th42;
  A3: x-x ==0_No by Th39;
  x+-x <= y +-x by A1,Th32;
  then 0_No <= y +-x by A3,SURREALO:4;
  then A4: t+0_No <= t+(y +-x) by Th32;
  y+t +- x = t+(y +- x) by Th37;
  hence thesis by A1,A2,A4,SURREALO:4;
end;

theorem
  x < y iff 0_No < y - x
proof
  x=0_No+x;
  hence thesis by Th42;
end;

theorem
  x < y iff x - y < 0_No
proof
  y=0_No+y;
  hence thesis by Th41;
end;

theorem
  x - y == 0_No implies x == y
proof
A1: -y+y=y-y ==0_No by Th39;
  assume x - y == 0_No;
  then y = 0_No+ y == x + - y + y = x + (- y + y) by Th37,Th43;
  then y == x +(-y+y) == x+0_No =x by A1,Th43;
  hence thesis by SURREALO:4;
end;

definition
  let x be object;
  assume A1:x is surreal;
  func -' x -> Surreal means :Def10:
     for x1 be Surreal st x1=x holds it = - x1;
  existence
  proof
    reconsider xx=x as Surreal by A1;
    take -xx;
    thus thesis;
  end;
  uniqueness
  proof
    reconsider xx=x as Surreal by A1;
    let m1,m2 be Surreal such that
    A2: for x1 be Surreal st x1=x holds m1 = - x1 and
    A3: for x1 be Surreal st x1=x holds m2 = - x1;
    m1 = -xx by A2;
    hence thesis by A3;
  end;
end;

registration
  let a be Surreal, x be object;
  identify -a with -' x when a = x;
  compatibility by Def10;
end;

definition
  let x,y be object;
  assume A1:x is surreal & y is surreal;
  func x +' y -> Surreal means :Def11:
     for x1,y1 be Surreal st x1=x & y1=y holds it = x1+y1;
  existence
  proof
    reconsider xx=x,yy=y as Surreal by A1;
    take xx+yy;
    thus thesis;
  end;
  uniqueness
  proof
    reconsider xx=x,yy=y as Surreal by A1;
    let a1,a2 be Surreal such that
    A2: for x1,y1 be Surreal st x1=x & y1=y holds a1 = x1+y1 and
    A3: for x1,y1 be Surreal st x1=x & y1=y holds a2 = x1+y1;
    a1 = xx+yy by A2;
    hence thesis by A3;
  end;
end;

registration
  let a,b be Surreal, x,y be object;
  identify a+b with x+'y when a = x, b = y;
  compatibility by Def11;
end;

begin :: The Product of Superreal Numbers

definition
  let A be Ordinal;
  func No_mult_op A -> ManySortedSet of Triangle A  means :Def12:
    ex S be c=-monotone Function-yielding Sequence st
      dom S = succ A & it = S.A &
      for B be Ordinal st B in succ A
         ex SB be ManySortedSet of Triangle B st S.B = SB &
           for x be object st x in Triangle B holds
             SB.x = [ {(union rng (S|B).[xL,R_x]) +'
                       (union rng (S|B).[L_x,yL]) +' -'
                       (union rng (S|B).[xL,yL])
                        where xL is Element of L_L_x, yL is Element of L_R_x:
                        xL in L_L_x & yL in L_R_x}
                    \/
                      {(union rng (S|B).[xR,R_x]) +'
                       (union rng (S|B).[L_x,yR]) +' -'
                       (union rng (S|B).[xR,yR])
                       where xR is Element of R_L_x, yR is Element of R_R_x:
                       xR in R_L_x & yR in R_R_x}
                    ,
                       {(union rng (S|B).[xL,R_x]) +'
                        (union rng (S|B).[L_x,yR]) +' -'
                        (union rng (S|B).[xL,yR])
                       where xL is Element of L_L_x, yR is Element of R_R_x:
                       xL in L_L_x & yR in R_R_x}
                    \/
                       {(union rng (S|B).[xR,R_x]) +'
                        (union rng (S|B).[L_x,yL]) +' -'
                        (union rng (S|B).[xR,yL])
                       where xR is Element of R_L_x, yL is Element of L_R_x:
                       xR in R_L_x & yL in L_R_x}
                     ];
  existence
  proof
    deffunc D(Ordinal) = Triangle $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
      [ {(union rng $2.[xL,R_$1]) +'
         (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xL,yL])
         where xL is Element of L_L_$1,yL is Element of L_R_$1:
         xL in L_L_$1 & yL in L_R_$1} \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xR,yR])
        where xR is Element of R_L_$1,yR is Element of R_R_$1:
        xR in R_L_$1 & yR in R_R_$1},
        {(union rng $2.[xL,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xL,yR])
        where xL is Element of L_L_$1,yR is Element of R_R_$1:
        xL in L_L_$1 & yR in R_R_$1}
        \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xR,yL])
        where xR is Element of R_L_$1,yL is Element of L_R_$1:
        xR in R_L_$1 & yL in L_R_$1}];
    A1: for A,B be Ordinal st A c= B holds D(A) c= D(B) by Th25;
    A2: for S be c=-monotone Function-yielding Sequence st
      for A be Ordinal st A in dom S holds dom (S.A) = D(A)
        for A be Ordinal,x be object st x in dom (S.A) holds H(x,S|A) = H(x,S)
    proof
      let S be c=-monotone Function-yielding Sequence such that
      A3:for A be Ordinal st A in dom S holds dom (S.A) = D(A);
      let A be Ordinal,a be object such that A4: a in dom (S.A);
      S.A <>{} by A4;
      then A5:A in dom S by FUNCT_1:def 2;
      then A6: dom (S.A) = D(A) by A3;
      then consider x,y be object such that
      A7:x in Day A & y in Day A & a=[x,y] by A4,ZFMISC_1:def 2;
      reconsider x,y as Surreal by A7;
      A8: born x (+) born y c= A by A7,A6,A4,Def5;
      A9 : for X,Y be surreal-membered set st X c= L_x\/R_x & Y c= L_y\/R_y
      holds
      {(union rng (S|A).[xL,y]) +'(union rng (S|A).[x,yL]) +'
      -' (union rng (S|A).[xL,yL]) where xL is Element of X,yL is Element of Y:
      xL in X & yL in Y}
      =
      {(union rng S.[xL,y]) +'(union rng S.[x,yL]) +' -' (union rng S.[xL,yL])
      where xL is Element of X,yL is Element of Y: xL in X & yL in Y}
      proof
        let X,Y be surreal-membered set such that
        A10: X c= L_x\/R_x & Y c= L_y\/R_y;
        thus {(union rng (S|A).[xL,y]) +'
        (union rng (S|A).[x,yL]) +' -' (union rng (S|A).[xL,yL])
        where xL is Element of X,yL is Element of Y: xL in X & yL in Y}
        c=
        {(union rng S.[xL,y]) +' (union rng S.[x,yL])
          +' -' (union rng S.[xL,yL])
          where xL is Element of X,yL is Element of Y: xL in X & yL in Y}
        proof
          let z be object;
          assume z in {(union rng (S|A).[xL,y]) +'
          (union rng (S|A).[x,yL]) +' -' (union rng (S|A).[xL,yL])
          where xL is Element of X,yL is Element of Y: xL in X & yL in Y};
          then consider xL be Element of X,yL be Element of Y such that
          A11:  z = (union rng (S|A).[xL,y]) +' (union rng (S|A).[x,yL]) +'
          -' (union rng (S|A).[xL,yL]) & xL in X & yL in Y;
          reconsider xxL=xL,yyL=yL as Surreal by SURREAL0:def 16,A11;
          set Lx=born xxL (+) born y;
          A12:Lx in born x (+) born y by ORDINAL7:94,SURREALO:1,A10,A11;
          then A13:dom (S.Lx) = D(Lx) by A8,A3,A5,ORDINAL1:10;
          [xL,y] in D(Lx) by Def5;
          then A14:union rng (S|A).[xL,y] = (union rng S).[xL,y]
          by Th6,A13,A12,A8;
          set Ly=born x (+) born yyL;
          A15:Ly in born x (+) born y by A10,A11,ORDINAL7:94,SURREALO:1;
          then A16:dom (S.Ly) = D(Ly) by A8,A3,A5,ORDINAL1:10;
          [x,yL] in D(Ly) by Def5;
          then A17: union rng (S|A).[x,yL] = (union rng S).[x,yL]
          by Th6,A16,A15,A8;
          set Lxy=born xxL (+) born yyL;
          A18: Lxy in Ly by A10,A11,ORDINAL7:94,SURREALO:1;
          then Lxy in born x (+) born y by A15,ORDINAL1:10;
          then A19:dom (S.Lxy) = D(Lxy) by A8,A3,A5,ORDINAL1:10;
          [xL,yL] in D(Lxy) by Def5;
          then union rng (S|A).[xL,yL] = (union rng S).[xL,yL]
          by Th6,A19,A18,A8,A15,ORDINAL1:10;
          hence thesis by A14,A17,A11;
        end;
        let z be object;
        assume z in {(union rng S.[xL,y]) +'
          (union rng S.[x,yL]) +' -' (union rng S.[xL,yL])
        where xL is Element of X,yL is Element of Y:xL in X & yL in Y};
        then consider xL be Element of X,yL be Element of Y such that
        A20: z = (union rng (S).[xL,y]) +'
        (union rng (S).[x,yL]) +' -' (union rng (S).[xL,yL]) &
        xL in X & yL in Y;
        reconsider xxL=xL,yyL=yL as Surreal by SURREAL0:def 16,A20;
        set Lx=born xxL (+) born y;
        A21:Lx in born x (+) born y by A10,A20,ORDINAL7:94,SURREALO:1;
        then A22:dom (S.Lx) = D(Lx) by A8,A3,A5,ORDINAL1:10;
        [xL,y] in D(Lx) by Def5;
        then A23:union rng (S|A).[xL,y] = (union rng S).[xL,y]
        by Th6,A22,A21,A8;
        set Ly=born x (+) born yyL;
        A24:Ly in born x (+) born y by A10,A20,ORDINAL7:94,SURREALO:1;
        then A25:dom (S.Ly) = D(Ly) by A8,A3,A5,ORDINAL1:10;
        [x,yL] in D(Ly) by Def5;
        then A26: union rng (S|A).[x,yL] = (union rng S).[x,yL]
        by Th6,A25,A24,A8;
        set Lxy=born xxL (+) born yyL;
        A27: Lxy in Ly by A10,A20,ORDINAL7:94,SURREALO:1;
        then Lxy in born x (+) born y by A24,ORDINAL1:10;
        then A28:dom (S.Lxy) = D(Lxy) by A8,A3,A5,ORDINAL1:10;
        [xL,yL] in D(Lxy) by Def5;
        then union rng (S|A).[xL,yL] = (union rng S).[xL,yL]
        by Th6,A28,A27,A8,A24,ORDINAL1:10;
        hence thesis by A23,A26,A20;
      end;
      A29:L_x c= L_x \/ R_x & R_x c= L_x \/ R_x &
      L_y c= L_y\/R_y & R_y c= L_y\/R_y by XBOOLE_1:7;
      then A30: {(union rng (S|A).[xL,y]) +' (union rng (S|A).[x,yL]) +' -'
      (union rng (S|A).[xL,yL])
      where xL is Element of L_x,yL is Element of L_y: xL in L_x & yL in L_y}
      =
      {(union rng S.[xL,y]) +'
      (union rng S.[x,yL]) +' -' (union rng S.[xL,yL])
      where xL is Element of L_x,yL is Element of L_y:
      xL in L_x & yL in L_y} by A9;
      A31: {(union rng (S|A).[xR,y]) +' (union rng (S|A).[x,yR]) +'
      -' (union rng (S|A).[xR,yR])
      where xR is Element of R_x,yR is Element of R_y: xR in R_x & yR in R_y}
      =
      {(union rng (S).[xR,y]) +'
      (union rng (S).[x,yR]) +' -' (union rng (S).[xR,yR])
      where xR is Element of R_x,yR is Element of R_y:
      xR in R_x & yR in R_y} by A29,A9;
      {(union rng (S|A).[xL,y]) +'
      (union rng (S|A).[x,yR]) +' -' (union rng (S|A).[xL,yR])
      where xL is Element of L_x,yR is Element of R_y: xL in L_x & yR in R_y}
      = {(union rng (S).[xL,y]) +'
      (union rng (S).[x,yR]) +' -' (union rng S.[xL,yR])
      where xL is Element of L_x,yR is Element of R_y:
      xL in L_x & yR in R_y} by A29,A9;
      hence thesis by A7,A30,A31,A29,A9;
    end;
    consider S be c=-monotone Function-yielding Sequence such that
    A32: dom S = succ A and
    A33: for A1 be Ordinal st A1 in succ A
      ex SA1 be ManySortedSet of D(A1) st S.A1 = SA1 &
        for x be object st x in D(A1) holds SA1.x = H(x,S|A1)
          from MonoFvSExists(A2,A1);
    consider SA be ManySortedSet of D(A) such that
    A34:S.A = SA and
        for x be object st x in D(A) holds SA.x = H(x,S|A) by A33,ORDINAL1:6;
    take SA,S;
    thus thesis by A32,A34,A33;
  end;
  uniqueness
  proof
    deffunc D(Ordinal) = Triangle $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
      [ {(union rng $2.[xL,R_$1]) +'
         (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xL,yL])
         where xL is Element of L_L_$1,yL is Element of L_R_$1:
         xL in L_L_$1 & yL in L_R_$1} \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xR,yR])
        where xR is Element of R_L_$1,yR is Element of R_R_$1:
        xR in R_L_$1 & yR in R_R_$1},
        {(union rng $2.[xL,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xL,yR])
        where xL is Element of L_L_$1,yR is Element of R_R_$1:
        xL in L_L_$1 & yR in R_R_$1}
        \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xR,yL])
        where xR is Element of R_L_$1,yL is Element of L_R_$1:
        xR in R_L_$1 & yL in L_R_$1}];
    let it1,it2 be ManySortedSet of Triangle A;
    given S1 be c=-monotone Function-yielding Sequence such that
    A35:dom S1 = succ A & it1 = S1.A and
    A36:for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S1.B = SB &
    for x be object st x in D(B) holds SB.x = H(x,S1|B);
    given S2 be c=-monotone Function-yielding Sequence such that
    A37:dom S2 = succ A & it2 = S2.A and
    A38:for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S2.B = SB &
    for x be object st x in D(B) holds SB.x = H(x,S2|B);
    A39:succ A c= dom S1 & succ A c= dom S2 by A35,A37;
    S1|succ A = S2|succ A from MonoFvSUniq(A39,A36,A38);
    then S1|succ A = S2 by A37;
    hence thesis by A35,A37;
  end;
end;

definition
  let x,y be Surreal;
  func x * y -> set equals
    (No_mult_op (born x (+) born y)).[x,y];
  coherence;
end;

theorem Th48:
  for S be c=-monotone Function-yielding Sequence st
    for B be Ordinal st B in dom S
      ex SB be ManySortedSet of Triangle B st S.B = SB &
        for x be object st x in Triangle B holds
          SB.x = [ {(union rng (S|B).[xL,R_x]) +'
                       (union rng (S|B).[L_x,yL]) +' -'
                       (union rng (S|B).[xL,yL])
                        where xL is Element of L_L_x, yL is Element of L_R_x:
                        xL in L_L_x & yL in L_R_x}
                    \/
                      {(union rng (S|B).[xR,R_x]) +'
                       (union rng (S|B).[L_x,yR]) +' -'
                       (union rng (S|B).[xR,yR])
                       where xR is Element of R_L_x, yR is Element of R_R_x:
                       xR in R_L_x & yR in R_R_x}
                    ,
                       {(union rng (S|B).[xL,R_x]) +'
                        (union rng (S|B).[L_x,yR]) +' -'
                        (union rng (S|B).[xL,yR])
                       where xL is Element of L_L_x, yR is Element of R_R_x:
                       xL in L_L_x & yR in R_R_x}
                    \/
                       {(union rng (S|B).[xR,R_x]) +'
                        (union rng (S|B).[L_x,yL]) +' -'
                        (union rng (S|B).[xR,yL])
                       where xR is Element of R_L_x, yL is Element of L_R_x:
                       xR in R_L_x & yL in L_R_x}
                     ]
        holds
          for A be Ordinal st A in dom S holds No_mult_op A = S.A
  proof
    deffunc D(Ordinal) = Triangle $1;
    deffunc H(object,c=-monotone Function-yielding Sequence) =
       [ {(union rng $2.[xL,R_$1]) +'
         (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xL,yL])
         where xL is Element of L_L_$1,yL is Element of L_R_$1:
         xL in L_L_$1 & yL in L_R_$1} \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xR,yR])
        where xR is Element of R_L_$1,yR is Element of R_R_$1:
        xR in R_L_$1 & yR in R_R_$1},
        {(union rng $2.[xL,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xL,yR])
        where xL is Element of L_L_$1,yR is Element of R_R_$1:
        xL in L_L_$1 & yR in R_R_$1}
        \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xR,yL])
        where xR is Element of R_L_$1,yL is Element of L_R_$1:
        xR in R_L_$1 & yL in L_R_$1}];
    let S be c=-monotone Function-yielding Sequence such that
    A1: for B be Ordinal st B in dom S
    ex SB be ManySortedSet of D(B) st S.B = SB &
    for x be object st x in D(B) holds SB.x = H(x,S|B);
    let A be Ordinal such that A2: A in dom S;
    consider S1 be c=-monotone Function-yielding Sequence such that
    A3:dom S1 = succ A & No_mult_op A = S1.A and
    A4:for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S1.B = SB &
    for x be object st x in D(B) holds SB.x = H(x,S1|B) by Def12;
    A5:succ A c= dom S by A2,ORDINAL1:21;
    A6: for B be Ordinal st B in succ A
    ex SB be ManySortedSet of D(B) st S.B = SB &
    for x be object st x in D(B) holds SB.x = H(x,S|B) by A1,A5;
    A7: succ A c= dom S & succ A c= dom S1 by A2,ORDINAL1:21,A3;
    A8: S|succ A = S1|succ A from MonoFvSUniq(A7,A6,A4);
    A in succ A by ORDINAL1:8;
    hence thesis by A3,A8,FUNCT_1:49;
end;

definition
  let x,y be Surreal;
  let X,Y be set;
  func comp(X,x,y,Y) -> set means :Def14:
     o in it iff ex x1,y1 be Surreal st
        o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y;
  existence
  proof
    defpred P[object] means $1 is surreal;
    consider X1 be set such that
    A1:for o holds o in X1 iff o in X & P[o] from XBOOLE_0:sch 1;
    consider Y1 be set such that
    A2:for o holds o in Y1 iff o in Y & P[o] from XBOOLE_0:sch 1;
    defpred Py[object,object] means
    for a be Surreal st a =$1 holds $2 = a*y;
    defpred Px[object,object] means
    for a be Surreal st a =$1 holds $2 = x*a;
    A3:for o be object st o in X1 ex u being object st Py[o,u]
    proof
      let o be object such that A4:o in X1;
      reconsider a=o as Surreal by A4,A1;
      take a*y;
      thus thesis;
    end;
    consider fy be Function such that
    A5: dom fy = X1 & for o be object st o in X1 holds Py[o,fy.o]
    from CLASSES1:sch 1(A3);
    A6:for o be object st o in Y1 ex u being object st Px[o,u]
    proof
      let o be object such that A7:o in Y1;
      reconsider a=o as Surreal by A7,A2;
      take x*a;
      thus thesis;
    end;
    consider fx be Function such that
    A8: dom fx = Y1 & for o be object st o in Y1 holds Px[o,fx.o]
    from CLASSES1:sch 1(A6);
    defpred Pxy[object,object] means
    for a,b be Surreal st $1=[a,b] holds $2 = a*b;
    A9:for o be object st o in [:X1,Y1:] ex u being object st Pxy[o,u]
    proof
      let o be object such that A10:o in [:X1,Y1:];
      consider a,b be object such that
      A11:a in X1 & b in Y1 & o = [a,b] by A10,ZFMISC_1:def 2;
      reconsider a,b as Surreal by A11,A1,A2;
      take a*b;
      let a1,b1 be Surreal;assume o=[a1,b1];
      then a1=a & b1=b by A11,XTUPLE_0:1;
      hence thesis;
    end;
    consider fxy be Function such that
    A12: dom fxy = [:X1,Y1:] &
    for o be object st o in [:X1,Y1:] holds Pxy[o,fxy.o]
    from CLASSES1:sch 1(A9);
    set IT={fy.x1 +' fx.y1 +' -' fxy.[x1,y1]
    where x1 is Element of X,y1 is Element of Y:
    x1 in X & y1 in Y & x1 is surreal & y1 is surreal};
    take IT;
    let o;
    thus o in IT implies ex x1,y1 be Surreal st
    o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y
    proof
      assume o in IT;
      then consider x1 be Element of X,y1 be Element of Y such that
      A13:  o = fy.x1 +' fx.y1 +' -' fxy.[x1,y1] & x1 in X & y1 in Y &
      x1 is surreal & y1 is surreal;
      reconsider x1,y1 as Surreal by A13;
      x1 in X1 & y1 in Y1 by A13,A1,A2;
      then [x1,y1] in [:X1,Y1:] by ZFMISC_1:def 2;
      then A14:fxy.[x1,y1] = x1*y1 by A12;
      A15:fy.x1 = x1*y by A13,A1,A5;
      fx.y1 = x*y1 by A13,A2,A8;
      hence thesis by A13,A14,A15;
    end;
    given x1,y1 be Surreal such that
    A16: o = x1*y +' (x*y1) +' -' x1*y1 & x1 in X & y1 in Y;
    x1 in X1 & y1 in Y1 by A16,A1,A2;
    then [x1,y1] in [:X1,Y1:] by ZFMISC_1:def 2;
    then A17:fxy.[x1,y1] = x1*y1 by A12;
    A18:fy.x1 = x1*y by A16,A1,A5;
    fx.y1 = x*y1 by A16,A2,A8;
    hence thesis by A16,A17,A18;
  end;
  uniqueness
  proof
    let C1,C2 be set such that
    A19:o in C1 iff ex x1,y1 be Surreal st
      o = x1*y +' (x*y1) +' -' x1*y1 & x1 in X & y1 in Y and
    A20:o in C2 iff ex x1,y1 be Surreal st
      o = x1*y +' (x*y1) +' -' x1*y1 & x1 in X & y1 in Y;
    now let o;
      o in C1 iff ex x1,y1 be Surreal st
      o = x1*y +' (x*y1) +' -' x1*y1 & x1 in X & y1 in Y by A19;
      hence o in C1 iff o in C2 by A20;
    end;
    hence thesis by TARSKI:2;
  end;
end;

theorem Th49:
  for X be set holds comp(X,x,y,{}) = {}
proof
  let X be set;
  assume comp(X,x,y,{}) <> {};
  then consider o such that
  A1: o in comp(X,x,y,{}) by XBOOLE_0:def 1;
  consider x1,y1 be Surreal such that
  A2: o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in {} by A1,Def14;
  thus thesis by A2;
end;

theorem Th50:
  for x,y be Surreal holds
    x * y = [comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y),
             comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y)]
proof
  let x,y be Surreal;
  set Bx=born x,By=born y,A=Bx (+)By;
  deffunc UU(object,object,c=-monotone Function-yielding Sequence) =
    [( (union rng ($3).:[:L_$1,{$2}:]) ++
                       (union rng ($3).:[:{$1},L_$2:]) ++ --
                       (union rng ($3).:[:L_$1,L_$2:]) ) \/
                     ( (union rng ($3).:[:R_$1,{$2}:]) ++
                       (union rng ($3).:[:{$1},R_$2:]) ++ --
                       (union rng ($3).:[:R_$1,R_$2:])),
                     ( (union rng ($3).:[:L_$1,{$2}:]) ++
                       (union rng ($3).:[:{$1},R_$2:]) ++ --
                       (union rng ($3).:[:L_$1,R_$2:]) ) \/
                     ( (union rng ($3).:[:R_$1,{$2}:]) ++
                       (union rng ($3).:[:{$1},L_$2:]) ++ --
                       (union rng ($3).:[:R_$1`2,L_$2:]))];
  deffunc H(object,c=-monotone Function-yielding Sequence) =
       [ {(union rng $2.[xL,R_$1]) +'
         (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xL,yL])
         where xL is Element of L_L_$1,yL is Element of L_R_$1:
         xL in L_L_$1 & yL in L_R_$1} \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xR,yR])
        where xR is Element of R_L_$1,yR is Element of R_R_$1:
        xR in R_L_$1 & yR in R_R_$1},
        {(union rng $2.[xL,R_$1]) +'
        (union rng $2.[L_$1,yR]) +' -' (union rng $2.[xL,yR])
        where xL is Element of L_L_$1,yR is Element of R_R_$1:
        xL in L_L_$1 & yR in R_R_$1}
        \/
        {(union rng $2.[xR,R_$1]) +'
        (union rng $2.[L_$1,yL]) +' -' (union rng $2.[xR,yL])
        where xR is Element of R_L_$1,yL is Element of L_R_$1:
        xR in R_L_$1 & yL in L_R_$1}];
   consider S be c=-monotone Function-yielding Sequence such that
   A1:  dom S = succ A & No_mult_op A = S.A and
   A2: for B be Ordinal st B in succ A
   ex SB be ManySortedSet of Triangle B st S.B = SB &
   for x be object st x in Triangle B holds SB.x = H(x,S|B) by Def12;
   consider SA be ManySortedSet of Triangle A such that
   A3:S.A = SA and
   A4:for x be object st x in Triangle A holds SA.x = H(x,S|A)
   by A2,ORDINAL1:6;
   set U =union rng (S|A);
   A5:[x,y] in Triangle A by Def5;
   A6: x*y = H([x,y],S|A) by A1,A3,A5,A4;
   A7:for X,Y be surreal-membered set st X c= L_x\/ R_x & Y c= L_y\/ R_y
   holds {(U.[xL,y]) +' (U.[x,yL]) +' -' (U.[xL,yL])
   where xL is Element of X,yL is Element of Y:xL in X & yL in Y}
   = comp(X,x,y,Y)
   proof
     let X,Y be surreal-membered set such that
     A8: X c= L_x\/ R_x & Y c= L_y \/R_y;
     thus {(U.[xL,y]) +' (U.[x,yL]) +' -' (U.[xL,yL])
     where xL is Element of X,yL is Element of Y:xL in X & yL in Y}
     c= comp(X,x,y,Y)
     proof
       let a be object;
       assume a in {(U.[xL,y]) +' (U.[x,yL]) +' -' (U.[xL,yL])
       where xL is Element of X,yL is Element of Y:xL in X & yL in Y};
       then consider xL be Element of X,yL be Element of Y such that
       A9:a= (U.[xL,y])+' (U.[x,yL])+' -' (U.[xL,yL]) & xL in X & yL in Y;
       reconsider x1=xL,y1=yL as Surreal by SURREAL0:def 16,A9;
       set X1 = born x1,C1 = X1 (+) born y;
       A10: C1 in A by A9,A8,SURREALO:1,ORDINAL7:94;
       then A11: C1 in succ A by ORDINAL1:8;
       then consider SC1 be ManySortedSet of Triangle C1 such that
       A12:S.C1 = SC1 and
       for x be object st x in Triangle C1 holds
       SC1.x = H(x,S|C1) by A2;
       A13:dom SC1 = Triangle C1 by PARTFUN1:def 2;
       A14: [x1,y] in Triangle C1 by Def5;
       A15: x1 * y = SC1.[x1,y] by A11,A1,A2,A12,Th48;
       A16: SC1. [x1,y] = (union rng S).[x1,y] by A11,A13,A14,Th2,A1,A12;
       A17: U. [x1,y] = x1*y by A16,A15,A12,Th5,A10,A14,A13;
       set Y1 = born y1,C2 = born x (+) Y1;
       A18: C2 in A by A9,A8,SURREALO:1,ORDINAL7:94;
       then A19: C2 in succ A by ORDINAL1:8;
       then consider SC2 be ManySortedSet of Triangle C2 such that
       A20:S.C2 = SC2 and
       for x be object st x in Triangle C2 holds
       SC2.x = H(x,S|C2) by A2;
       A21:dom SC2 = Triangle C2 by PARTFUN1:def 2;
       A22: [x,y1] in Triangle C2 by Def5;
       A23: x * y1 = SC2.[x,y1] by A19,A1,A2,A20,Th48;
       A24: SC2. [x,y1] = (union rng S).[x,y1] by A19,A21,A22,Th2,A1,A20;
       A25: U. [x,y1] = x*y1 by A24,A23,A20,Th5,A18,A22,A21;
       set C3 = X1  (+) Y1;
       C3 in C2 in A by A9,A8,SURREALO:1,ORDINAL7:94;
       then A26: C3 in A by ORDINAL1:10;
       then A27: C3 in succ A by ORDINAL1:8;
       then consider SC3 be ManySortedSet of Triangle C3 such that
       A28:S.C3 = SC3 and
       for x be object st x in Triangle C3 holds
       SC3.x = H(x,S|C3) by A2;
       A29:dom SC3 = Triangle C3 by PARTFUN1:def 2;
       A30: [x1,y1] in Triangle C3 by Def5;
       A31:x1 * y1 = SC3.[x1,y1] by A27,A1,A2,A28,Th48;
       A32:SC3. [x1,y1] = (union rng S).[x1,y1] by A27,A29,A30,Th2,A1,A28;
       a= (U.[xL,y]) +' (U.[x,yL]) +' -' (x1*y1)
       by A9,A32,A31,A28,Th5,A26,A30,A29;
       hence thesis by Def14,A9,A17,A25;
     end;
     let a be object;
     assume a in comp(X,x,y,Y);
     then consider x1,y1 be Surreal such that
     A33: a = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by Def14;
     set X1 = born x1,C1 = X1 (+) born y;
     A34:C1 in A by A33,A8,SURREALO:1,ORDINAL7:94;
     then A35: C1 in succ A by ORDINAL1:8;
     then consider SC1 be ManySortedSet of Triangle C1 such that
     A36:S.C1 = SC1 and
     for x be object st x in Triangle C1 holds
     SC1.x = H(x,S|C1) by A2;
     A37:dom SC1 = Triangle C1 by PARTFUN1:def 2;
     A38: [x1,y] in Triangle C1 by Def5;
     A39: x1 * y = SC1.[x1,y] by A35,A1,A2,A36,Th48;
     A40: SC1. [x1,y] = (union rng S).[x1,y] by A35,A37,A38,Th2,A1,A36;
     A41: U. [x1,y] = x1*y by A40,A39,A36,Th5,A34,A38,A37;
     set Y1 = born y1,C2 = born x  (+) Y1;
     A42: C2 in A by A33,A8,SURREALO:1,ORDINAL7:94;
     then A43: C2 in succ A by ORDINAL1:8;
     then consider SC2 be ManySortedSet of Triangle C2 such that
     A44:S.C2 = SC2 and
     for x be object st x in Triangle C2 holds
     SC2.x = H(x,S|C2) by A2;
     A45:dom SC2 = Triangle C2 by PARTFUN1:def 2;
     A46: [x,y1] in Triangle C2 by Def5;
     A47: x * y1 = SC2.[x,y1] by A43,A1,A2,A44,Th48;
     A48: SC2. [x,y1] = (union rng S).[x,y1] by A43,A45,A46,Th2,A1,A44;
     A49: U. [x,y1] = x*y1 by A48,A47,A44,Th5,A42,A46,A45;
     set C3 = X1  (+) Y1;
     C3 in C2 in A by A33,A8,SURREALO:1,ORDINAL7:94;
     then A50: C3 in A by ORDINAL1:10;
     then A51: C3 in succ A by ORDINAL1:8;
     then consider SC3 be ManySortedSet of Triangle C3 such that
     A52:S.C3 = SC3 and
     for x be object st x in Triangle C3 holds
     SC3.x = H(x,S|C3)by A2;
     A53:dom SC3 = Triangle C3 by PARTFUN1:def 2;
     A54: [x1,y1] in Triangle C3 by Def5;
     A55: x1 * y1 = SC3.[x1,y1] by A51,A1,A2,A52,Th48;
     A56: SC3. [x1,y1] = (union rng S).[x1,y1] by A51,A53,A54,Th2,A1,A52;
     a= (x1*y) +' (x*y1) +' -' (U. [x1,y1])
     by A33,A56,A55,A52,Th5,A50,A54,A53;
     hence thesis by A33,A49,A41;
   end;
   A57:L_x c= L_x \/ R_x & R_x c= L_x \/ R_x &
   L_y c= L_y\/R_y & R_y c= L_y\/R_y by XBOOLE_1:7;
   A58:{(U.[xL,y]) +'(U.[x,yL]) +' -' (U.[xL,yL])
   where xL is Element of L_x,yL is Element of L_y:xL in L_x & yL in L_y}
   =comp(L_x,x,y,L_y) by A57,A7;
   A59:{(U.[xL,y]) +'(U.[x,yR]) +' -' (U.[xL,yR])
   where xL is Element of L_x,yR is Element of R_y:xL in L_x & yR in R_y}
   =comp(L_x,x,y,R_y) by A57,A7;
   {(U.[xR,y]) +'(U.[x,yR]) +' -' (U.[xR,yR])
   where xR is Element of R_x,yR is Element of R_y:xR in R_x & yR in R_y}
   =comp(R_x,x,y,R_y) by A57,A7;
   hence thesis by A6,A58,A59,A57,A7;
end;

theorem Th51:
  (for x,y holds x*y is Surreal) &
  (for x,y holds x*y = y*x)&
  (for x1,x2,y,x1y,x2y be Surreal st x1 == x2 & x1y = x1*y & x2y = x2*y
     holds  x1y == x2y) &
  (for x1,x2,y1,y2,x1y2,x2y1,x1y1,x2y2 be Surreal st
        x1y1=x1*y1 & x1y2=x1*y2 & x2y1=x2*y1 & x2y2=x2*y2 & x1 < x2 & y1 < y2
     holds x1y2+x2y1 < x1y1+x2y2)
proof
  defpred P0[Ordinal,Surreal,Surreal] means
  born $2 (+) born $3 c= $1 implies $2*$3 = $3 * $2;
  defpred P1[Ordinal,Surreal,Surreal] means
  born $2 (+) born $3 c= $1 implies $2*$3 is Surreal;
  defpred P2[Ordinal,Surreal,Surreal,Surreal] means
      for x1y,x2y be Surreal st
      born $2 (+) born $4 c= $1 & born $3 (+) born $4 c= $1 &
          $2 == $3 & x1y = $2*$4 & x2y = $3*$4
    holds  x1y == x2y;
  defpred P3[Ordinal,Surreal,Surreal,Surreal,Surreal] means
    for x1y2,x2y1,x1y1,x2y2 be Surreal st
        born $2 (+) born $4 c= $1 & born $3 (+) born $4 c= $1 &
        born $2 (+) born $5 c= $1 & born $3 (+) born $5 c= $1 &
        x1y1=$2*$4 & x1y2=$2*$5 & x2y1=$3*$4 & x2y2=$3*$5 & $2 < $3 & $4 < $5
    holds
       x1y2+x2y1 < x1y1+x2y2;
  defpred P4[Ordinal,Surreal,Surreal,Surreal] means
           $3 < $4 implies (for x st x in L_$2 holds P3[$1,x,$2,$3,$4])&
                           (for x st x in R_$2 holds P3[$1,$2,x,$3,$4]);
  defpred Q0[Ordinal] means for x,y holds P0[$1,x,y];
  defpred Q1[Ordinal] means for x,y holds P1[$1,x,y];
  defpred Q2[Ordinal] means for x1,x2,y be Surreal holds P2[$1,x1,x2,y];
  defpred Q3[Ordinal] means for x1,x2,y1,y2 be Surreal
    holds P3[$1,x1,x2,y1,y2];
  defpred Q[Ordinal] means Q0[$1] & Q1[$1] & Q2[$1] & Q3[$1];
  A1: for D be Ordinal st for C be Ordinal st C in D holds Q[C] holds Q[D]
  proof
    let D be Ordinal such that
    A2: for C be Ordinal st C in D holds Q[C];
    thus A3: for x,y holds P0[D,x,y]
    proof
      A4: for x,y st born x (+) born y c= D
      for X,Y be surreal-membered set st (X c= L_x\/R_x & Y c= L_y\/R_y)
      holds comp(X,x,y,Y) c= comp(Y,y,x,X)
      proof
        let x,y be Surreal such that A5: born x (+) born y c= D;
        let X,Y be surreal-membered set such that
        A6:X c= L_x\/R_x  & Y c= L_y\/R_y;
        let a be object;
        assume a in comp(X,x,y,Y);
        then consider x1,y1 be Surreal such that
        A7: a = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by Def14;
        A8: born x1 (+) born y1 in born x1 (+) born y &
        born x (+) born y1 in born x (+) born y &
        born x1 (+) born y in born x (+) born y
        by SURREALO:1,A6,A7,ORDINAL7:94;
        then born x1 (+) born y1 in born x (+) born y by ORDINAL1:10;
        then A9:x1*y1 = y1*x1 & x*y1 = y1*x & x1*y = y*x1 by A8,A2,A5;
        reconsider yx1=y*x1,y1x=y1*x as Surreal by A8,A2,A5;
        (y*x1) +' (y1*x) =y1x +yx1 by Def11
        .=(y1*x) +' (y*x1);
        hence thesis by A7,Def14,A9;
      end;
      A10:for x,y st born x (+) born y c= D
      for X,Y be surreal-membered set st (X c= L_x\/R_x & Y c= L_y\/R_y)
      holds comp(X,x,y,Y) = comp(Y,y,x,X)
      proof
        let x,y such that A11: born x (+) born y c= D;
        let X,Y be surreal-membered set such that
        A12: X c= L_x\/R_x & Y c= L_y\/R_y;
        comp(X,x,y,Y) c= comp(Y,y,x,X) c= comp(X,x,y,Y)by A11,A12, A4;
        hence thesis by XBOOLE_0:def 10;
      end;
      let x,y be Surreal such that A13: born x (+) born y c= D;
      L_x c= L_x \/ R_x & R_x c= L_x \/ R_x &
      L_y c= L_y\/R_y & R_y c= L_y\/R_y by XBOOLE_1:7;
      then A14: comp(L_x,x,y,L_y) = comp(L_y,y,x,L_x) &
      comp(R_x,x,y,R_y) = comp(R_y,y,x,R_x) &
      comp(L_x,x,y,R_y) = comp(R_y,y,x,L_x) &
      comp(R_x,x,y,L_y) = comp(L_y,y,x,R_x) by A10,A13;
      x*y = [comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y),
      comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y)] by Th50
      .=y*x by A14,Th50;
      hence thesis;
    end;
    thus for x,y holds P1[D,x,y]
    proof
      let x,y;
      assume A15:born x (+) born y c= D;
      set CC =(comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y)) \/
      (comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y));
      A16:for X,Y be surreal-membered set st X c= L_x\/R_x & Y c=L_y\/R_y
      holds comp(X,x,y,Y) is surreal-membered
      proof
        let X,Y be surreal-membered set such that
        A17: X c= L_x\/R_x & Y c=L_y\/R_y;
        let z be object;
        assume z in comp(X,x,y,Y);
        then consider x1,y1 be Surreal such that
        A18:z = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by Def14;
        A19: born x1 (+) born y1 in born x1 (+) born y &
        born x (+) born y1 in born x (+) born y &
        born x1 (+) born y in born x (+) born y
        by A17,SURREALO:1,A18,ORDINAL7:94;
        then born x1 (+) born y1 in born x (+) born y by ORDINAL1:10;
        then reconsider x1y=x1*y,xy1=x*y1,x1y1=x1*y1 as Surreal by A19,A15,A2;
        thus thesis by A18;
      end;
      A20:L_x c= L_x\/R_x & R_x c= L_x\/R_x &
      L_y c= L_y\/R_y & R_y c= L_y\/R_y by XBOOLE_1:7;
      defpred P[object,object] means $1 is Surreal &
      for z be Surreal st z = $1 holds $2 = born z;
      A21: for x,y,z being object st P[x,y] & P[x,z] holds y = z
      proof
        let x,y,z be object such that A22: P[x,y] & P[x,z];
        reconsider x as Surreal by A22;
        thus y=born x by A22
        .=z by A22;
      end;
      consider OO be set such that
      A23: for z be object holds z in OO iff ex y be object st y in CC & P[y,z]
      from TARSKI_0:sch 1(A21);
      for x be set st x in OO holds x is ordinal
      proof
        let x be set;
        assume x in OO;
        then consider y be object such that
        A24: y in CC & P[y,x] by A23;
        reconsider y as Surreal by A24;
        x= born y by A24;
        hence thesis;
      end;
      then OO is ordinal-membered by ORDINAL6:1;
      then reconsider U=union OO as Ordinal;
      A25: for o be object st o in CC
      ex O be Ordinal st O in succ U & o in Day O
      proof
        let o be object such that A26: o in CC;
        A27: comp(L_x,x,y,L_y) is surreal-membered &
        comp(R_x,x,y,R_y) is surreal-membered &
        comp(L_x,x,y,R_y) is surreal-membered &
        comp(R_x,x,y,L_y) is surreal-membered by A16,A20;
        o in (comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y))
        or o in comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y) by A26,XBOOLE_0:def 3;
        then o in comp(L_x,x,y,L_y) or o in comp(R_x,x,y,R_y)
        or o in comp(L_x,x,y,R_y) or o in comp(R_x,x,y,L_y) by XBOOLE_0:def 3;
        then reconsider o as Surreal by A27;
        P[o,born o];
        then born o c= U by A23,A26,ZFMISC_1:74;
        then A28: born o in succ U by  ORDINAL1:6,12;
        o in Day born o by SURREAL0:def 18;
        hence thesis by A28;
      end;
      comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y) <<
      comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y)
      proof
        let l,r be Surreal;
        assume A29: l in comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y) &
        r in comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y);
        per cases by A29,XBOOLE_0:def 3;
        suppose A30: l in comp(L_x,x,y,L_y) & r in comp(L_x,x,y,R_y);
          then consider xL1,yL be Surreal such that
          A31:  l = (xL1*y) +' (x*yL) +' -' (xL1*yL) & xL1 in L_x & yL in L_y
          by Def14;
          consider xL2,yR be Surreal such that
          A32:  r = (xL2*y) +' (x*yR) +' -' (xL2*yR) & xL2 in L_x & yR in R_y
          by Def14,A30;
          xL1 in L_x \/ R_x & xL2 in L_x \/ R_x by A31,A32,XBOOLE_0:def 3;
          then A33:born xL1 (+) born y in born x (+)born y &
          born xL2 (+) born y in born x (+)born y by SURREALO:1,ORDINAL7:94;
          then reconsider xL1y=xL1*y,xL2y=xL2*y as Surreal by A15,A2;
          set BL = (born xL1 (+) born y) \/ (born xL2 (+) born y);
          A34: BL in born x (+)born y by A33, ORDINAL3:12;
          A35: born xL1 (+) born y c= BL & born xL2 (+) born y c= BL
          by XBOOLE_1:7;
          A36:xL1 == xL2 implies xL1y == xL2y by A35,A34,A15,A2;
          A37:yR in L_y \/ R_y & yL in L_y \/ R_y by A31,A32,XBOOLE_0:def 3;
          then A38:born xL1 (+) born yL in born xL1 (+)born y &
          born xL1 (+) born yR in born xL1 (+)born y &
          born xL2 (+) born yL in born xL2 (+)born y &
          born xL2 (+) born yR in born xL2 (+)born y
          by SURREALO:1,ORDINAL7:94;
          then born xL1 (+) born yL in born x (+)born y &
          born xL1 (+) born yR in born x (+)born y &
          born xL2 (+) born yR in born x (+)born y &
          born xL2 (+) born yL in born x (+)born y
          by A33,ORDINAL1:10;
          then reconsider xL1yR=xL1*yR,xL2yR=xL2*yR,xL2yL=xL2*yL,
          xL1yL=xL1*yL as Surreal by A15,A2;
          set BY=(born x (+) born yL)\/(born x (+) born yR);
          A39: born x (+) born yL in born x (+)born y &
          born x (+) born yR in born x (+)born y by
          A37,SURREALO:1,ORDINAL7:94;
          then reconsider xyL=x*yL,xyR=x*yR as Surreal by A15,A2;
          A40: born xL1 (+) born yR c= BL & born xL2 (+) born yR c= BL &
          born xL2 (+) born yL c= BL &
          born xL1 (+) born yL c= BL by A38,A35,ORDINAL1:def 2;
          A41:xL1 == xL2 implies xL1yR == xL2yR by A40,A34,A15,A2;
          L_y << R_y by SURREAL0:45;
          then A42: yL < yR by A31,A32;
          x <=x & y <= y;
          then A43: L_x << {x} << R_x & x in {x} &
          L_y << {y} << R_y & y in {y} by SURREAL0:43,TARSKI:def 1;
          then A44: xL1<x & xL2<x & yL < y by A31,A32;
          A45: BY in born x (+)born y by A39,ORDINAL3:12;
          A46: born x (+) born yL c= BY & born x (+) born yR c= BY
          by XBOOLE_1:7;
          set BB = BL \/BY;
          A47: BB in born x (+)born y by A34,A45,ORDINAL3:12;
          A48:  BL c= BB & BY c= BB by XBOOLE_1:7;
          then A49: born xL1 (+) born yL c= BB&
          born xL1 (+) born yR c= BB &
          born x (+) born yL c= BB & born x (+) born yR c= BB
          by A40,A46,XBOOLE_1:1;
          A50: born xL1 (+) born y c= BB & born xL2 (+) born y c= BB
          by A35,A48,XBOOLE_1:1;
          A51: born yL (+) born xL2 c= BB & born yR (+) born xL2 c= BB
          by A40,A48,XBOOLE_1:1;
          xL1yR+xyL < xL1yL+xyR by A47,A15,A2,A49,A42,A44;
          then xyL < xL1yL+xyR - xL1yR by Th42;
          then xyL < xL1yL+(xyR - xL1yR) by Th37;
          then A52: xyL - xL1yL < xyR - xL1yR by Th41;
          per cases;
          suppose A53: xL1 < xL2;
            xL2yL + xL1y < xL1yL + xL2y by A53,A44,A49,A50,A51,A47,A15,A2;
            then xL1y < xL1yL + xL2y - xL2yL by Th42;
            then xL1y < xL1yL +(xL2y  - xL2yL) by Th37;
            then xL1y - xL1yL <  xL2y - xL2yL by Th41;
            then A54: xL1y +- xL1yL + xyL <= xL2y - xL2yL + xyL by Th32;
            A55: xL2y - xL2yL + xyL = xyL - xL2yL + xL2y by Th37;
            xL2yR + xyL < xL2yL + xyR by A42,A44,A47,A15,A2,A49,A51;
            then xyL < xL2yL + xyR - xL2yR by Th42;
            then xyL < xL2yL + (xyR - xL2yR) by Th37;
            then xyL - xL2yL < xyR - xL2yR by Th41;
            then xyL - xL2yL + xL2y < xyR - xL2yR +xL2y by Th32;
            then xL1y - xL1yL + xyL < xyR - xL2yR +xL2y
            by SURREALO:4,A54,A55;
            then xL1y +(- xL1yL + xyL) < xyR +- xL2yR +xL2y by Th37;
            then xL1y +(xyL - xL1yL) < xyR +(xL2y- xL2yR) by Th37;
            then xL1y +xyL - xL1yL < xyR +(xL2y- xL2yR) by Th37;
            then (xL1y + xyL) + - (xL1yL) < (xL2y + xyR) + - xL2yR by Th37;
            hence l < r by A31,A32;
          end;
          suppose A56: xL2 < xL1;
            A57: born y (+) born xL1 c= BB & born yR (+) born xL1 c= BB
            by A48,A40,XBOOLE_1:1,A35;
            y < yR & xL2 < xL1 by A56,A43,A32;
            then xL1y + xL2yR < xL2y + xL1yR by A50,A51,A57,A47,A15,A2;
            then xL1y  < xL2y + xL1yR -xL2yR by Th42;
            then xL1y  < xL1yR+ (xL2y  -xL2yR) by Th37;
            then xL1y - xL1yR  <  xL2y  -xL2yR by Th41;
            then xL1y - xL1yR  +xyR <  xL2y  +-xL2yR +xyR by Th32;
            then xL1y - xL1yR  +xyR <  xL2y  +xyR+ -xL2yR by Th37;
            then A58:  xL1y + (xyR+- xL1yR) <  xL2y  +xyR+ -xL2yR by Th37;
            xL1yR + xyL < xL1yL + xyR by A42,A44,A47,A15,A2,A49;
            then xyL < xL1yL + xyR -xL1yR by Th42;
            then xyL < xL1yL + (xyR -xL1yR) by Th37;
            then xyL - xL1yL < xyR -xL1yR by Th41;
            then  xL1y +(xyL - xL1yL) <= xL1y +(xyR -xL1yR) by Th32;
            then xL1y +(xyL - xL1yL) < xL2y  +xyR-xL2yR by A58,SURREALO:4;
            then (xL1y + xyL) + - (xL1yL) < (xL2y + xyR) - xL2yR by Th37;
            hence l < r by A31,A32;
          end;
          suppose A59: xL1 == xL2;
            then - xL1yR <= - xL2yR by A41,Th10;
            then A60: (xL2y + xyR)- xL1yR <= (xL2y + xyR)- xL2yR by Th32;
            xL1y + (xyL - xL1yL) < xL2y +(xyR - xL1yR) by A59,A36,A52,Th44;
            then xL1y + (xyL - xL1yL) < (xL2y +xyR) - xL1yR by Th37;
            then xL1y + (xyL - xL1yL) < (xL2y + xyR)- xL2yR
            by A60,SURREALO:4;
            then (xL1y + xyL) - (xL1yL) < (xL2y + xyR) - xL2yR by Th37;
            hence l < r by A31,A32;
          end;
        end;
        suppose A61: l in comp(R_x,x,y,R_y) & r in comp(R_x,x,y,L_y);
          then consider xR1,yR be Surreal such that
          A62:  l = (xR1*y) +' (x*yR) +' -' (xR1*yR) & xR1 in R_x & yR in R_y
          by Def14;
          consider xR2,yL be Surreal such that
          A63:  r = (xR2*y) +' (x*yL) +' -' (xR2*yL) & xR2 in R_x & yL in L_y
          by Def14,A61;
          xR1 in L_x \/ R_x & xR2 in L_x \/ R_x by A62,A63,XBOOLE_0:def 3;
          then A64:born xR1 (+) born y in born x (+)born y &
          born xR2 (+) born y in born x (+)born y by SURREALO:1,ORDINAL7:94;
          then reconsider xR1y=xR1*y,xR2y=xR2*y as Surreal by A15,A2;
          set BR = (born xR1 (+) born y) \/ (born xR2 (+) born y);
          A65: BR in born x (+)born y by A64, ORDINAL3:12;
          A66: born xR1 (+) born y c= BR & born xR2 (+) born y c= BR
          by XBOOLE_1:7;
          A67:xR1 == xR2 implies xR1y == xR2y by A66,A65,A15,A2;
          A68: yR in L_y \/ R_y & yL in L_y \/ R_y by A62,A63,XBOOLE_0:def 3;
          then  A69: born xR1 (+) born yL in born xR1 (+)born y &
          born xR1 (+) born yR in born xR1 (+)born y &
          born xR2 (+) born yL in born xR2 (+)born y &
          born xR2 (+) born yR in born xR2 (+)born y
          by SURREALO:1,ORDINAL7:94;
          born xR1 (+) born yL in born x (+)born y &
          born xR1 (+) born yR in born x (+)born y &
          born xR2 (+) born yR in born x (+)born y &
          born xR2 (+) born yL in born x (+)born y
          by A69,A64,ORDINAL1:10;
          then reconsider xR1yR=xR1*yR,xR2yR=xR2*yR,xR2yL=xR2*yL,xR1yL=xR1*yL
          as Surreal by A15,A2;
          set BY=(born x (+) born yL)\/(born x (+) born yR);
          A70: born x (+) born yL in born x (+)born y &
          born x (+) born yR in born x (+)born y
          by A68,SURREALO:1,ORDINAL7:94;
          then reconsider xyL=x*yL,xyR=x*yR as Surreal by A15,A2;
          A71: born xR1 (+) born yR c= BR & born xR2 (+) born yR c= BR &
          born xR2 (+) born yL c= BR &
          born xR1 (+) born yL c= BR by A69, A66,ORDINAL1:def 2;
          A72:xR1 == xR2 implies xR1yR == xR2yR by A71,A65, A15,A2;
          L_y << R_y by SURREAL0:45;
          then A73: yL < yR by A62,A63;
          x <=x & y <= y;
          then A74: L_x << {x} << R_x & x in {x} &
          L_y << {y} << R_y & y in {y} by SURREAL0:43,TARSKI:def 1;
          then A75: x<xR1 & x<xR2 & yL < y by A62,A63;
          A76: BY in born x (+)born y by A70,ORDINAL3:12;
          A77: born x (+) born yL c= BY & born x (+) born yR c= BY
          by XBOOLE_1:7;
          set BB = BR \/BY;
          A78: BB in born x (+)born y by A65,A76,ORDINAL3:12;
          A79:BR c= BB & BY c= BB by XBOOLE_1:7;
          then
          A80:born xR1 (+) born yL c= BB& born xR1 (+) born yR c= BB &
          born x (+) born yL c= BB & born x (+) born yR c= BB
          by A71,A77,XBOOLE_1:1;
          A81: born xR1 (+) born y c= BB & born xR2 (+) born y c= BB
          by A66,A79,XBOOLE_1:1;
          A82: born xR2 (+) born yL c= BB &
          born xR2 (+) born yR  c= BB by A71,A79,XBOOLE_1:1;
          per cases;
          suppose A83: xR1 < xR2;
            yL < y & xR1 < xR2 by A83,A74,A63;
            then xR2yL +xR1y < xR1yL+xR2y by A80,A81,A82,A78,A15,A2;
            then xR1y < xR1yL+xR2y - xR2yL by Th42;
            then xR1y < xR1yL+(xR2y - xR2yL) by Th37;
            then xR1y - xR1yL < xR2y - xR2yL by Th41;
            then (xR1y  - xR1yL)+xyL < xR2y - xR2yL +xyL by Th32;
            then (- xR1yL + xR1y)+xyL < - xR2yL+ (xR2y +xyL) by Th37;
            then A84: xR1y + xyL - xR1yL < xR2y + xyL - xR2yL by Th37;
            xyR + xR1yL < xyL + xR1yR by A73,A75,A80,A78,A15,A2;
            then xyR + xR1yL - xR1yR  < xyL by Th41;
            then xR1yL+ (xyR - xR1yR)  < xyL by Th37;
            then xyR +- xR1yR  < xyL -xR1yL by Th42;
            then xR1y + (xyR +- xR1yR)  < xR1y+(xyL +-xR1yL) by Th32;
            then (xR1y + xyR) +- xR1yR  < xR1y+(xyL +-xR1yL) by Th37;
            then xR1y + xyR + - xR1yR <= xR1y + xyL +- xR1yL by Th37;
            hence thesis by A62,A63,A84,SURREALO:4;
          end;
          suppose A85: xR2 < xR1;
            y < yR & xR2 < xR1 by A85,A74,A62;
            then xR1y + xR2yR < xR2y + xR1yR by A80,A81,A82,A78,A15,A2;
            then xR2yR +xR1y - xR1yR < xR2y by Th41;
            then xR2yR +(xR1y - xR1yR) < xR2y by Th37;
            then xR1y + - xR1yR  < xR2y -xR2yR by Th42;
            then xR1y + - xR1yR + xyR  < xR2y + -xR2yR + xyR by Th32;
            then A86: xR1y + xyR + - xR1yR < xR2y + -xR2yR + xyR by Th37;
            xyR + xR2yL < xyL +xR2yR by A73,A75,A78,A15,A2,A80,A82;
            then xyR < xR2yR + xyL - xR2yL by Th42;
            then xyR < xR2yR + (xyL - xR2yL) by Th37;
            then xyR -xR2yR < xyL - xR2yL by Th41;
            then xR2y +(-xR2yR + xyR) < xR2y +(xyL + - xR2yL) by Th32;
            then xR2y +-xR2yR + xyR < xR2y +(xyL + - xR2yL) by Th37;
            then xR2y + -xR2yR + xyR <= xR2y + xyL + - xR2yL by Th37;
            hence thesis by A62,A63,A86,SURREALO:4;
          end;
          suppose A87: xR1 == xR2;
            then - xR1yR <= - xR2yR by A72,Th10;
            then A88: (xR1y + xyR)+- xR1yR <= (xR1y + xyR)+- xR2yR by Th32;
            xyR + xR2yL < xyL +xR2yR by  A75,A73,A80,A82,A78,A15,A2;
            then xR2yL +  xyR - xR2yR < xyL by Th41;
            then xR2yL +  (xyR - xR2yR) < xyL by Th37;
            then xyR - xR2yR < xyL - xR2yL by Th42;
            then xR1y + (xyR - xR2yR) < xR2y+ (xyL - xR2yL) by A87,A67,Th44;
            then xR1y + (xyR - xR2yR) < (xR2y+ xyL) - xR2yL by
            Th37;
            then xR1y + xyR +- xR2yR < (xR2y+ xyL) +- xR2yL by Th37;
            hence l < r by A88,SURREALO:4,A62,A63;
          end;
        end;
        suppose  A89: l in comp(L_x,x,y,L_y) & r in comp(R_x,x,y,L_y);
          then consider xL,yL1 be Surreal such that
          A90:  l = (xL*y) +' (x*yL1) +' -' (xL*yL1) & xL in L_x & yL1 in L_y
          by Def14;
          consider xR,yL2 be Surreal such that
          A91:  r = (xR*y) +' (x*yL2) +' -' (xR*yL2) & xR in R_x & yL2 in L_y
          by Def14,A89;
          yL1 in L_y \/ R_y & yL2 in L_y \/ R_y by A90,A91,XBOOLE_0:def 3;
          then A92:born yL1 (+) born x in born x (+)born y &
          born yL2 (+) born x in born x (+)born y by SURREALO:1,ORDINAL7:94;
          then reconsider yL1x=yL1*x,yL2x=yL2*x as Surreal by A15,A2;
          set BL = (born yL1 (+) born x) \/ (born yL2 (+) born x);
          A93: BL in born x (+)born y by A92, ORDINAL3:12;
          A94: born yL1 (+) born x c= BL & born yL2 (+) born x c= BL by
          XBOOLE_1:7;
          A95:yL1 == yL2 implies yL1x == yL2x by A94,A93,A15,A2;
          A96: xR in L_x \/ R_x & xL in L_x \/ R_x by A90,A91,XBOOLE_0:def 3;
          A97: born yL1 (+) born xL in born yL1 (+)born x &
          born yL1 (+) born xR in born yL1 (+)born x &
          born yL2 (+) born xL in born yL2 (+)born x &
          born yL2 (+) born xR in born yL2 (+)born x
          by A96,SURREALO:1,ORDINAL7:94;
          then born yL1 (+) born xL in born x (+)born y &
          born yL1 (+) born xR in born x (+)born y &
          born yL2 (+) born xR in born x (+)born y &
          born yL2 (+) born xL in born x (+)born y
          by A92,ORDINAL1:10;
          then reconsider yL1xR=yL1*xR,yL2xR=yL2*xR,yL2xL=yL2*xL,yL1xL=yL1*xL
          as Surreal by A15,A2;
          set BY=(born y (+) born xL)\/(born y (+) born xR);
          A98: born y (+) born xL in born x (+)born y &
          born y (+) born xR in born x (+)born y
          by A96,SURREALO:1,ORDINAL7:94;
          then reconsider yxL=y*xL,yxR=y*xR as Surreal by A15,A2;
          A99: born yL1 (+) born xR c= BL & born yL2 (+) born xR c= BL &
          born yL2 (+) born xL c= BL &
          born yL1 (+) born xL c= BL by A97,A94,ORDINAL1:def 2;
          A100:yL1 == yL2 implies yL1xR == yL2xR by A99,A93,A15,A2;
          L_x << R_x by SURREAL0:45;
          then A101: xL < xR by A90,A91;
          x <=x & y <= y;
          then A102: L_x << {x} << R_x & x in {x} &
          L_y << {y} << R_y & y in {y} by SURREAL0:43,TARSKI:def 1;
          then A103: yL1<y & yL2<y & xL < x by A90,A91;
          A104: BY in born x (+)born y by A98,ORDINAL3:12;
          A105: born y (+) born xL c= BY & born y (+) born xR c= BY
          by XBOOLE_1:7;
          set BB = BL \/BY;
          A106: BB in born x (+)born y by A93,A104,ORDINAL3:12;
          A107: BL c= BB & BY c= BB by XBOOLE_1:7;
          then A108: born yL1 (+) born xL c= BB&
          born yL1 (+) born xR c= BB &
          born y (+) born xL c= BB & born y (+) born xR c= BB
          by A99,A105,XBOOLE_1:1;
          A109: born yL1 (+) born x c= BB & born yL2 (+) born x c= BB
          by A94,A107,XBOOLE_1:1;
          A110: born xL (+) born yL2 c= BB & born xR (+) born yL2 c= BB
          by A99,A107,XBOOLE_1:1;
          yL1xR+yxL < yL1xL+yxR by A106,A15,A2,A108,A101,A103;
          then yxL < yL1xL+yxR - yL1xR by Th42;
          then yxL < yL1xL+(yxR - yL1xR) by Th37;
          then A111: yxL - yL1xL < yxR - yL1xR by Th41;
          A112: xL*yL2 = yL2xL & x*yL2 = yL2x by A2,A106,A15,A109,A110;
          A113: xL*yL1 = yL1xL & x*yL1 = yL1x by A2,A106,A15,A108,A109;
          A114: xR*yL2 = yL2xR & xR*yL1 = yL1xR by A2,A106,A15,A108,A110;
          A115: l = (yxL) + (yL1x) + - (yL1xL) by A90,A2,A106,A15,A108,A113
          .= yL1x + yxL +- (yL1xL);
          A116: r = yxR + yL2x + - yL2xR by A91,A2,A106,A15,A108,A112,A114
          .= yL2x + yxR + - yL2xR;
          per cases;
          suppose A117: yL1 < yL2;
            yL2xL + yL1x < yL1xL + yL2x
            by A117,A103,A108,A109,A110,A106,A15,A2;
            then  yL1x < yL1xL + yL2x - yL2xL by Th42;
            then  yL1x < yL1xL +(yL2x  - yL2xL) by Th37;
            then  yL1x - yL1xL <  yL2x - yL2xL by Th41;
            then  A118: yL1x +- yL1xL + yxL <= yL2x - yL2xL + yxL by Th32;
            A119: yL2x - yL2xL + yxL =yxL - yL2xL + yL2x by Th37;
            yL2xR + yxL < yL2xL + yxR by A101,A103,A106,A15,A2,A108,A110;
            then yxL < yL2xL + yxR - yL2xR by Th42;
            then yxL < yL2xL + (yxR +- yL2xR) by Th37;
            then yxL - yL2xL < yxR +- yL2xR by Th41;
            then yxL - yL2xL + yL2x < yxR +- yL2xR +yL2x by Th32;
            then yL1x - yL1xL + yxL < yxR +- yL2xR +yL2x
            by SURREALO:4,A118,A119;
            then yL1x +(- yL1xL + yxL) < yxR - yL2xR +yL2x by Th37;
            then yL1x +(yxL - yL1xL) < yxR +(yL2x- yL2xR) by Th37;
            then yL1x +yxL - yL1xL < yxR +(yL2x- yL2xR) by Th37;
            hence l < r by A115,A116,Th37;
          end;
          suppose A120: yL2 < yL1;
            A121: born x (+) born yL1 c= BB & born xR (+) born yL1 c= BB
            by A99,XBOOLE_1:1,A94,A107;
            x < xR & yL2 < yL1 by A120,A102,A91;
            then yL1x + yL2xR < yL2x + yL1xR by A109,A110,A121,A106,A15,A2;
            then yL1x  < yL2x + yL1xR -yL2xR by Th42;
            then yL1x  < yL1xR+ (yL2x  -yL2xR) by Th37;
            then yL1x - yL1xR  <  yL2x  -yL2xR by Th41;
            then yL1x - yL1xR  +yxR <  yL2x  -yL2xR +yxR by Th32;
            then yL1x - yL1xR  +yxR <  yL2x  +yxR -yL2xR by Th37;
            then A122:yL1x + (yxR+- yL1xR) <  yL2x  +yxR+ -yL2xR by Th37;
            yL1xR + yxL < yL1xL + yxR by A101,A103,A106,A15,A2,A108;
            then yxL < yL1xL + yxR -yL1xR by Th42;
            then yxL < yL1xL + (yxR -yL1xR) by Th37;
            then yxL - yL1xL < yxR -yL1xR by Th41;
            then  yL1x +(yxL +- yL1xL) <= yL1x +(yxR -yL1xR) by Th32;
            then yL1x +(yxL +- yL1xL) < yL2x  +yxR+ -yL2xR
            by A122,SURREALO:4;
            hence l < r by A115,A116,Th37;
          end;
          suppose A123: yL1 == yL2;
            then - yL1xR <= - yL2xR by Th10,A100;
            then A124: (yL2x + yxR)+- yL1xR <= (yL2x + yxR)+- yL2xR by Th32;
            yL1x + (yxL +- yL1xL) < yL2x+(yxR +- yL1xR) by A123,A95,A111,Th44;
            then yL1x + (yxL +- yL1xL) < (yL2x +yxR) +- yL1xR by Th37;
            then yL1x + (yxL +- yL1xL) < (yL2x + yxR)+- yL2xR
            by A124,SURREALO:4;
            hence l < r by Th37,A115,A116;
          end;
        end;
        suppose A125: l in comp(R_x,x,y,R_y) & r in comp(L_x,x,y,R_y);
          then consider xR,yR1 be Surreal such that
          A126:  l = (xR*y) +' (x*yR1) +' -' (xR*yR1) & xR in R_x & yR1 in R_y
          by Def14;
          consider xL,yR2 be Surreal such that
          A127:  r = (xL*y) +' (x*yR2) +' -' (xL*yR2) & xL in L_x & yR2 in R_y
          by Def14,A125;
          yR1 in L_y \/ R_y & yR2 in L_y \/ R_y by A126,A127,XBOOLE_0:def 3;
          then A128:born yR1 (+) born x in born y (+)born x &
          born yR2 (+) born x in born y (+)born x by SURREALO:1,ORDINAL7:94;
          then reconsider yR1x=yR1*x,yR2x=yR2*x as Surreal by A15,A2;
          set BR = (born yR1 (+) born x) \/ (born yR2 (+) born x);
          A129: BR in born x (+)born y by A128, ORDINAL3:12;
          A130: born yR1 (+) born x c= BR & born yR2 (+) born x c= BR
          by XBOOLE_1:7;
          A131:yR1 == yR2 implies yR1x == yR2x by A130,A129,A15,A2;
          A132: xR in L_x \/ R_x & xL in L_x \/ R_x
          by A126,A127,XBOOLE_0:def 3;
          A133:  born yR1 (+) born xL in born yR1 (+)born x &
          born yR1 (+) born xR in born yR1 (+)born x &
          born yR2 (+) born xL in born yR2 (+)born x &
          born yR2 (+) born xR in born yR2 (+)born x
          by A132,SURREALO:1,ORDINAL7:94;
          born yR1 (+) born xL in born x (+)born y &
          born yR1 (+) born xR in born x (+)born y &
          born yR2 (+) born xR in born x (+)born y &
          born yR2 (+) born xL in born x (+)born y
          by A128,ORDINAL1:10,A133;
          then reconsider yR1xR=yR1*xR,yR2xR=yR2*xR,yR2xL=yR2*xL,
          yR1xL=yR1*xL as Surreal by A15,A2;
          set BY=(born y (+) born xL)\/(born y (+) born xR);
          A134: born y (+) born xL in born x (+)born y &
          born y (+) born xR in born x (+)born y
          by A132,SURREALO:1,ORDINAL7:94;
          then reconsider yxL=y*xL,yxR=y*xR as Surreal by A15,A2;
          A135: born yR1 (+) born xR c= BR & born yR2 (+) born xR c= BR &
          born yR2 (+) born xL c= BR &
          born yR1 (+) born xL c= BR by A133,A130,ORDINAL1:def 2;
          A136:yR1 == yR2 implies yR1xR == yR2xR by A135,A129,A15,A2;
          L_x << R_x by SURREAL0:45;
          then A137: xL < xR by A126,A127;
          x <=x & y <= y;
          then A138: L_x << {x} << R_x & x in {x} &
          L_y << {y} << R_y & y in {y} by SURREAL0:43,TARSKI:def 1;
          then
          A139: y<yR1 & y<yR2 & xL < x by A126,A127;
          A140: BY in born x (+)born y by A134,ORDINAL3:12;
          A141: born y (+) born xL c= BY & born y (+) born xR c= BY
          by XBOOLE_1:7;
          set BB = BR \/BY;
          A142:BB in born x (+)born y by A129,A140,ORDINAL3:12;
          A143:BR c= BB & BY c= BB by XBOOLE_1:7;
          then
          A144: born yR1 (+) born xL c= BB&
          born yR1 (+) born xR c= BB &
          born y (+) born xL c= BB &
          born y (+) born xR c= BB by A135,A141,XBOOLE_1:1;
          A145: born yR1 (+) born x c= BB & born yR2 (+) born x c= BB
          by A130,A143,XBOOLE_1:1;
          A146: born yR2 (+) born xL c= BB &
          born yR2 (+) born xR  c= BB by A135,A143,XBOOLE_1:1;
          A147: xR*y = yxR & xL*y = yxL by A2,A142,A15,A144;
          A148: xL*yR2 = yR2xL  & x*yR2 = yR2x by A2,A142,A15,A145,A146;
          A149: xR*yR2 = yR2xR & xR*yR1 = yR1xR by A2,A142,A15,A144,A146;
          A150: l = yxR + yR1x + - yR1xR by A126,A147,A2,A142,A15,A145,A149
          .= yR1x +yxR +-yR1xR;
          A151: r =yxL + yR2x + - yR2xL by A127,A2,A142,A15,A144,A148
          .= yR2x + yxL + - yR2xL;
          per cases;
          suppose A152: yR1 < yR2;
            yR2xL +yR1x < yR1xL+yR2x by A152,A139,A144,A145,A146,A142,A15,A2;
            then yR1x < yR1xL+yR2x - yR2xL by Th42;
            then yR1x < yR1xL+(yR2x - yR2xL) by Th37;
            then yR1x - yR1xL < yR2x - yR2xL by Th41;
            then (yR1x  - yR1xL)+yxL < yR2x - yR2xL +yxL by Th32;
            then (- yR1xL + yR1x)+yxL < - yR2xL+ (yR2x +yxL) by Th37;
            then A153: yR1x + yxL +- yR1xL < yR2x + yxL - yR2xL by Th37;
            yxR + yR1xL < yxL + yR1xR by A137,A139,A144,A142,A15,A2;
            then yxR + yR1xL - yR1xR  < yxL by Th41;
            then yR1xL+ (yxR - yR1xR) < yxL by Th37;
            then yxR +- yR1xR  < yxL -yR1xL by Th42;
            then yR1x + (yxR - yR1xR) < yR1x+(yxL -yR1xL) by Th32;
            then (yR1x + yxR) - yR1xR < yR1x+(yxL -yR1xL) by Th37;
            then yR1x + yxR  - yR1xR <= yR1x + yxL - yR1xL by Th37;
            hence thesis by A151,A150,A153,SURREALO:4;
          end;
          suppose A154: yR2 < yR1;
            x < xR & yR2 < yR1 by A154,A138,A126;
            then yR1x + yR2xR < yR2x + yR1xR by
            A144,A145,A146,A142,A15,A2;
            then yR1x + yR2xR - yR1xR < yR2x by Th41;
            then yR2xR +(yR1x - yR1xR) < yR2x by Th37;
            then yR1x - yR1xR < yR2x -yR2xR by Th42;
            then yR1x - yR1xR + yxR < yR2x -yR2xR + yxR by Th32;
            then A155: yR1x + yxR + - yR1xR < yR2x -yR2xR + yxR by Th37;
            yxR + yR2xL < yxL +yR2xR by A137,A139,A142,A15,A2,A144,A146;
            then yxR < yR2xR + yxL - yR2xL by Th42;
            then yxR < yR2xR + (yxL - yR2xL) by Th37;
            then yxR-yR2xR  < yxL  - yR2xL by Th41;
            then yR2x +(-yR2xR + yxR) < yR2x +(yxL - yR2xL) by Th32;
            then yR2x +-yR2xR + yxR < yR2x +(yxL - yR2xL) by Th37;
            then yR2x -yR2xR + yxR <= yR2x + yxL - yR2xL by Th37;
            hence thesis by A151,A150,A155,SURREALO:4;
          end;
          suppose A156: yR1 == yR2;
            then - yR1xR <= - yR2xR by A136,Th10;
            then A157: (yR1x + yxR)- yR1xR <= (yR1x + yxR)- yR2xR by Th32;
            yxR + yR2xL < yxL +yR2xR by A139,A137,A144,A146,A142,A15,A2;
            then yR2xL +  yxR - yR2xR < yxL by Th41;
            then yR2xL +  (yxR - yR2xR) < yxL by Th37;
            then yxR - yR2xR < yxL - yR2xL by Th42;
            then yR1x + (yxR - yR2xR) < yR2x+ (yxL - yR2xL)
            by A156,A131,Th44;
            then yR1x + (yxR - yR2xR) < (yR2x+ yxL) - yR2xL by Th37;
            then yR1x + yxR - yR2xR < (yR2x+ yxL) - yR2xL by Th37;
            hence l < r by A151,A150,A157,SURREALO:4;
          end;
        end;
      end;
      then [(comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y)),
      (comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y))] in Day succ U
      by A25,SURREAL0:46;
      hence thesis by Th50;
    end;
    defpred Q24[Ordinal] means
    for x1,x2,y be Surreal st born x1 (+) born x2 (+) born y c= $1
      holds P2[D,x1,x2,y] & P4[D,x1,x2,y];
    A158: for E be Ordinal st for C be Ordinal st C in E holds Q24[C]
      holds Q24[E]
    proof
      let E be Ordinal such that A159: for C be Ordinal st C in E holds Q24[C];
      A160: for x1,x2,y,x1y,x2y be Surreal st
         born x1 (+) born x2 (+) born y c= E &
         born x1 (+) born y c= D & born x2 (+) born y c= D &
         x1 == x2 & x1y = x1*y & x2y = x2*y
      holds L_x1y << {x2y} << R_x1y
      proof
        let x1,x2,y,x1y,x2y be Surreal such that
        A161: born x1 (+) born x2 (+) born y c= E
        and
        A162: born x1 (+) born y c= D & born x2 (+) born y c= D and
        A163: x1 == x2 & x1y = x1*y & x2y = x2*y;
        A164:x1y =[(comp(L_x1,x1,y,L_y) \/ comp(R_x1,x1,y,R_y)),
        (comp(L_x1,x1,y,R_y) \/ comp(R_x1,x1,y,L_y))] by A163,Th50;
        A165:  L_y << {y} << R_y & y in {y} by SURREALO:11,TARSKI:def 1;
        thus L_x1y << {x2y}
        proof
          let l,r such that A166: l in L_x1y & r in {x2y};
          per cases by A164,A166,XBOOLE_0:def 3;
          suppose
            l in comp(R_x1,x1,y,R_y);
            then consider x3,y3 be Surreal such that
            A167: l = (x3*y) +' (x1*y3) +' -' (x3*y3) & x3 in R_x1 & y3 in R_y
            by Def14;
            A168: {x1} << R_x1 & x1 in {x1} by SURREALO:11,TARSKI:def 1;
            A169: y3 in L_y \/ R_y by A167,XBOOLE_0:def 3;
            then A170:born x1 (+) born y3 in born x1 (+)born y &
            born x2 (+) born y3 in born x2 (+)born y
            by SURREALO:1,ORDINAL7:94;
            then reconsider x1y3=x1*y3,x2y3=x2*y3 as Surreal by A2,A162;
            set BL = (born x1 (+) born y3) \/ (born x2 (+) born y3);
            x3 in L_x1 \/R_x1 by A167,XBOOLE_0:def 3;
            then A171: born x3 (+) born y3 in born x1 (+) born y3 &
            born x3 (+) born y in born x1 (+) born y
            by SURREALO:1,ORDINAL7:94;
            then A172: born x3 (+) born y3 in D &
            born x3 (+) born y in D by A170,A162,ORDINAL1:10;
            then reconsider x3y3=x3*y3,x3y=x3*y as Surreal by A2;
            A173: (born x1 (+) born x2) (+) born y3 in
            (born x1 (+) born x2) (+) born y
            by A169,SURREALO:1,ORDINAL7:94;
            born x1 (+) born y3 c= D & born x2 (+) born y3 c= D
            by A170,A162,ORDINAL1:def 2;
            then A174: x1y3 == x2y3 by A173,A163,A161,A159;
            born y (+) born x3 (+) born x2 in born y (+) born x1 (+) born x2
            by A171,ORDINAL7:94;
            then A175: born y (+) born x3 (+) born x2 in
            born y (+) (born x1 (+) born x2) by ORDINAL7:68;
            A176: born y (+) born x3 (+) born x2 =
            born y (+) born x2 (+) born x3 by ORDINAL7:68;
            A177:born x2 (+) born y3 c= D by A170,A162,ORDINAL1:def 2;
            A178: y3*x2 = x2y3 by A3,A170,A162,ORDINAL1:def 2;
            A179:born x3 (+) born y c= D & born x2 (+) born y c= D
            by A171,A162,ORDINAL1:def 2;
            A180: y*x3 = x3y & y*x2 = x2y by A162,A163,A3,A171,A2;
            A181:born x3 (+) born y3 c= D
            by A171,A170,A162,ORDINAL1:10,ORDINAL1:def 2;
            A182: y3*x3 = x3y3 by A172,A2;
            y < y3 & x2 < x3 by A168,A167,A163,SURREALO:4,A165;
            then x2y3 + x3y < x3y3 + x2y
            by A167,A176,A175,A161,A159,A177,A178,A179,A180,A181,A182;
            then A183:  x2y3 + x3y -x3y3 < x2y by Th41;
            x1y3 +(x3y +-x3y3) <= x2y3 +(x3y -x3y3) by A174,Th32;
            then x1y3 +x3y -x3y3 <= x2y3 +(x3y -x3y3) by Th37;
            then x1y3 +x3y -x3y3 <= x2y3 +x3y -x3y3 by Th37;
            then A184: x1y3 +x3y -x3y3 < x2y by A183,SURREALO:4;
            l = x3y+x1y3-x3y3 by A167;
            hence thesis by A166,A184,TARSKI:def 1;
          end;
          suppose l in comp(L_x1,x1,y,L_y);
            then consider x3,y3 be Surreal such that
            A185: l = (x3*y) +' (x1*y3) +' -' (x3*y3) & x3 in L_x1 & y3 in L_y
            by Def14;
            A186: L_x1 << {x1} & x1 in {x1} by SURREALO:11,TARSKI:def 1;
            A187: y3 in L_y \/ R_y by A185,XBOOLE_0:def 3;
            then A188:born x1 (+) born y3 in born x1 (+)born y &
            born x2 (+) born y3 in born x2 (+)born y
            by SURREALO:1,ORDINAL7:94;
            then reconsider x1y3=x1*y3,x2y3=x2*y3 as Surreal by A2,A162;
            set BL = (born x1 (+) born y3) \/ (born x2 (+) born y3);
            x3 in L_x1 \/R_x1 by A185,XBOOLE_0:def 3;
            then A189: born x3 (+) born y3 in born x1 (+) born y3 &
            born x3 (+) born y in born x1 (+) born y
            by SURREALO:1,ORDINAL7:94;
            then A190: born x3 (+) born y3 in D & born x3 (+) born y in D
            by A188,A162,ORDINAL1:10;
            then reconsider x3y3=x3*y3,x3y=x3*y as Surreal by A2;
            A191: born x1 (+) born x2 (+) born y3 in
            born x1 (+) born x2 (+) born y
            by A187,SURREALO:1,ORDINAL7:94;
            born x1 (+) born y3 c= D & born x2 (+) born y3 c= D
            by A188,A162,ORDINAL1:def 2;
            then A192: x1y3 == x2y3 by A191,A161,A159,A163;
            born y (+) born x3 (+) born x2 in born y (+) born x1 (+) born x2
            by A189,ORDINAL7:94;
            then A193: born y (+) born x3 (+) born x2 in
            born y (+) (born x1 (+) born x2) by ORDINAL7:68;
            A194:born x2 (+) born y3 c= D by A188,A162,ORDINAL1:def 2;
            A195: y3*x2 = x2y3 by A3,A188,A162,ORDINAL1:def 2;
            A196:born x3 (+) born y c= D & born x2 (+) born y c= D
            by A189,A162,ORDINAL1:def 2;
            A197: y*x3 = x3y & y*x2 = x2y
            by A163,A3,A162,A189,ORDINAL1:def 2;
            A198:born x3 (+) born y3 c= D
            by A188,A162,ORDINAL1:10,A189,ORDINAL1:def 2;
            A199: y3*x3 = x3y3 by A190,A2;
            A200: y3<y & x3 < x2 by A186,A185,A163,SURREALO:4,A165;
            x2y3 + x3y < x3y3 + x2y
            by A185,A200,A194,A195,A196,A197,A198,A199,A193,A161,A159;
            then A201:  x2y3 + x3y -x3y3 < x2y by Th41;
            x1y3 +(x3y +-x3y3) <= x2y3 +(x3y +-x3y3) by A192,Th32;
            then x1y3 +x3y +-x3y3 <= x2y3 +(x3y +-x3y3) by Th37;
            then x1y3 +x3y +-x3y3 <= x2y3 +x3y +-x3y3 by Th37;
            then A202: x1y3 +x3y +-x3y3 < x2y by A201,SURREALO:4;
            l = x3y+x1y3+-x3y3 by A185;
            hence thesis by A166,A202,TARSKI:def 1;
          end;
        end;
        thus {x2y} << R_x1y
        proof
          let l,r such that A203: l in {x2y} & r in R_x1y;
          per cases by XBOOLE_0:def 3,A164,A203;
          suppose
            r in comp(L_x1,x1,y,R_y);
            then consider x3,y3 be Surreal such that
            A204: r = (x3*y) +' (x1*y3) +' -' (x3*y3) &
            x3 in L_x1 & y3 in R_y by Def14;
            A205: L_x1 << {x1} & x1 in {x1} by SURREALO:11,TARSKI:def 1;
            A206:y3 in L_y \/ R_y by A204,XBOOLE_0:def 3;
            then A207:born x1 (+) born y3 in born x1 (+)born y &
            born x2 (+) born y3 in born x2 (+)born y
            by SURREALO:1,ORDINAL7:94;
            then reconsider x1y3=x1*y3,x2y3=x2*y3 as Surreal by A162,A2;
            set BL = (born x1 (+) born y3) \/ (born x2 (+) born y3);
            x3 in L_x1 \/R_x1 by A204,XBOOLE_0:def 3;
            then A208: born x3 (+) born y3 in born x1 (+) born y3 &
            born x3 (+) born y in born x1 (+) born y
            by SURREALO:1,ORDINAL7:94;
            then A209:born x3 (+) born y3 in D &
            born x3 (+) born y in D
            by A207,A162,ORDINAL1:10;
            then reconsider x3y3=x3*y3,x3y=x3*y as Surreal by A2;
            A210:  born x1 (+) born x2 (+) born y3 in
            born x1 (+) born x2 (+) born y
            by A206,SURREALO:1,ORDINAL7:94;
            born x1 (+) born y3 c= D & born x2 (+) born y3 c= D
            by A207,A162,ORDINAL1:def 2;
            then A211: x1y3 == x2y3 by A210,A161,A159,A163;
            born y (+) born x3 (+) born x2 in born y (+) born x1 (+) born x2
            by A208,ORDINAL7:94;
            then A212: born y (+) born x3 (+) born x2 in
            born y (+) (born x1 (+) born x2) by ORDINAL7:68;
            A213:born x2 (+) born y3 c= D by A207,A162,ORDINAL1:def 2;
            A214: y3*x2 = x2y3 by A3,A207,A162,ORDINAL1:def 2;
            A215:born x3 (+) born y c= D & born x2 (+) born y c= D
            by A208,A162,ORDINAL1:def 2;
            A216: y*x3 = x3y & y*x2 = x2y by A208,A162,ORDINAL1:def 2,A163,A3;
            A217:born x3 (+) born y3 c= D
            by A207,A162,ORDINAL1:10, A208,ORDINAL1:def 2;
            A218: y3*x3 = x3y3 by A209,A2;
            A219: y < y3 & x3 < x2 by A205,A204,A163,SURREALO:4,A165;
            x3y3 + x2y < x2y3 + x3y
            by A204,A212,A161,A159,A219,A213,A214,A215,A216,A217,A218;
            then A220:  x2y < x2y3 + x3y -x3y3 by Th42;
            x2y3 +(x3y +-x3y3) <= x1y3 +(x3y +-x3y3) by A211,Th32;
            then x2y3 +x3y +-x3y3 <= x1y3 +(x3y +-x3y3) by Th37;
            then x2y3 +x3y +-x3y3 <= x1y3 +x3y +-x3y3 by Th37;
            then A221: x2y < x1y3 +x3y +-x3y3 by A220,SURREALO:4;
            r = x3y+x1y3+-x3y3 by A204;
            hence thesis by A203,A221,TARSKI:def 1;
          end;
          suppose r in comp(R_x1,x1,y,L_y);
            then consider x3,y3 be Surreal such that
            A222: r = (x3*y) +' (x1*y3) +' -' (x3*y3) & x3 in R_x1 & y3 in L_y
            by Def14;
            A223: {x1} << R_x1 &
            x1 in {x1} by SURREALO:11,TARSKI:def 1;
            A224: y3 in L_y \/ R_y by A222,XBOOLE_0:def 3;
            then A225:born x1 (+) born y3 in born x1 (+)born y &
            born x2 (+) born y3 in born x2 (+)born y
            by SURREALO:1,ORDINAL7:94;
            then reconsider x1y3=x1*y3,x2y3=x2*y3 as Surreal by A2,A162;
            set BL = (born x1 (+) born y3) \/ (born x2 (+) born y3);
            x3 in L_x1 \/R_x1 by A222,XBOOLE_0:def 3;
            then A226: born x3 (+) born y3 in born x1 (+) born y3 &
            born x3 (+) born y in born x1 (+) born y
            by SURREALO:1,ORDINAL7:94;
            then A227:born x3 (+) born y3 in D & born x3 (+) born y in D
            by A225,A162,ORDINAL1:10;
            then reconsider x3y3=x3*y3,x3y=x3*y as Surreal by A2;
            A228:(born x1 (+) born x2) (+) born y3 in
            (born x1 (+) born x2) (+) born y
            by A224,SURREALO:1,ORDINAL7:94;
            born x1 (+) born y3 c= D & born x2 (+) born y3 c= D
            by A225,A162,ORDINAL1:def 2;
            then A229: x1y3 == x2y3 by A228,A159,A161,A163;
            born y (+) born x3 (+) born x2 in born y (+) born x1 (+) born x2
            by A226,ORDINAL7:94;
            then A230: born y (+) born x3 (+) born x2 in
            born y (+) (born x1 (+) born x2) by ORDINAL7:68;
            A231: born y (+) born x3 (+) born x2
            = born y (+) born x2 (+) born x3 by ORDINAL7:68;
            A232:born x2 (+) born y3 c= D by A225,A162,ORDINAL1:def 2;
            A233: y3*x2 = x2y3 by A3,A225,A162,ORDINAL1:def 2;
            A234:born x3 (+) born y c= D & born x2 (+) born y c= D
            by A226,A162,ORDINAL1:def 2;
            A235: y*x3 = x3y & y*x2 = x2y by A163,A3,A226,A162,ORDINAL1:def 2;
            A236:born x3 (+) born y3 c= D by A226,A225,A162,ORDINAL1:10,
            ORDINAL1:def 2;
            A237: y3*x3 = x3y3 by A3,A227,ORDINAL1:def 2;
            A238: y3<y & x2 < x3 by A223,A222,A163,SURREALO:4,A165;
            x3y3 + x2y < x2y3 + x3y
            by A231,A222,A230,A159,A161,A238,A232,A233,A234,A235,A236,A237;
            then A239:  x2y < x2y3 + x3y -x3y3 by Th42;
            x2y3 +(x3y +-x3y3) <= x1y3 +(x3y -x3y3) by A229,Th32;
            then x2y3 +x3y -x3y3 <= x1y3 +(x3y -x3y3) by Th37;
            then x2y3 +x3y -x3y3 <= x1y3 +x3y -x3y3 by Th37;
            then A240: x2y < x1y3 +x3y -x3y3 by A239,SURREALO:4;
            r = x3y+x1y3-x3y3 by A222;
            hence thesis by A203,A240,TARSKI:def 1;
          end;
        end;
      end;
      let x,y1,y2 be Surreal such that
      A241: born x (+) born y1 (+) born y2 c= E;
      thus P2[D,x,y1,y2]
      proof
        let x1y,x2y be Surreal such that
        A242:   born x (+) born y2 c= D & born y1 (+) born y2 c= D &
        x == y1 & x1y = x*y2 & x2y = y1*y2;
        A243: L_x1y << {x2y} << R_x1y & L_x2y << {x1y} << R_x2y
        by A241,A242,A160;
        then reconsider z= [L_x1y \/ L_x2y, R_x1y \/ R_x2y] as Surreal
        by SURREALO:14;
        x1y == z == x2y by A243,SURREALO:15;
        hence x1y == x2y by SURREALO:4;
      end;
      assume y1 < y2;
      then per cases by SURREALO:13;
      suppose ex y2L be Surreal st y2L in L_y2 & y1 <= y2L < y2;
        then consider y2L be Surreal such that
        A244: y2L in L_y2 & y1 <= y2L < y2;
        A245:for xL be Surreal st xL in L_x holds P3[D,xL,x,y1,y2]
        proof
          let xL be Surreal such that A246: xL in L_x;
          let xLy2,xy1,xLy1,xy2 be Surreal such that
          A247:born xL (+) born y1 c= D & born x (+) born y1 c= D &
          born xL (+) born y2 c= D & born x (+) born y2 c= D and
          A248: xLy1 = xL*y1 & xLy2=xL*y2 & xy1=x*y1 & xy2=x*y2 and
          A249: xL < x & y1 < y2;
          A250: xy2 = [comp(L_x,x,y2,L_y2) \/ comp(R_x,x,y2,R_y2),
          comp(L_x,x,y2,R_y2) \/ comp(R_x,x,y2,L_y2)] by A248,Th50;
          A251: L_xy2  << {xy2} << R_xy2 & xy2 in {xy2}
          by SURREALO:11,TARSKI:def 1;
          A252: y2L in L_y2 \/ R_y2 by A244,XBOOLE_0:def 3;
          then A253: born x (+) born y2L in born x (+) born y2
          by SURREALO:1,ORDINAL7:94;
          then reconsider xy2L=x*y2L as Surreal by A2,A247;
          A254: xL in L_x \/ R_x by A246,XBOOLE_0:def 3;
          then A255:born xL (+) born y2L in born x (+) born y2L
          by SURREALO:1,ORDINAL7:94;
          then A256: born xL (+) born y2L in D by A247,A253,ORDINAL1:10;
          then reconsider xLy2L=xL*y2L as Surreal by A2;
          (xLy2) +' xy2L +' -' xLy2L in comp(L_x,x,y2,L_y2)
          by A246,A244,A248,Def14;
          then (xLy2) +' xy2L +' -' xLy2L in L_xy2 by A250,XBOOLE_0:def 3;
          then xLy2 + xy2L - xLy2L < xy2 by A251;
          then A257: xLy2 + xy2L < xy2 + xLy2L by Th41;
          A258: born y1 (+) born y2 (+) born x = born x (+) born y1 (+) born y2
          by ORDINAL7:68;
          A259: born y2L (+) born x c= D by A253,A247,ORDINAL1:def 2;
          A260: y2L*x = xy2L & y1*x = xy1
          by A253,A247,A248,A3,ORDINAL1:def 2;
          A261:  born y2L (+) born xL c= D
          by A255,A247,A253,ORDINAL1:10,ORDINAL1:def 2;
          A262: y2L*xL  = xLy2L by A3,A256,ORDINAL1:def 2;
          A263: y1*xL =xLy1 by A247,A248,A3;
          A264: born y2L (+) born y1 in born y1 (+) born y2
          by A252,SURREALO:1,ORDINAL7:94;
          then A265: born y2L (+) born y1 (+) born x in
          born y2 (+) born y1 (+) born x by ORDINAL7:94;
          then A266: born y2L (+) born y1 (+) born x in E by A241,A258;
          born y2L (+) born y1 (+) born xL in born y2 (+) born y1 (+) born xL &
          born y2 (+) born y1 (+) born xL in
          born y2 (+) born y1 (+) born x by A254,SURREALO:1,A264,ORDINAL7:94;
          then
          A267: born y2L (+) born y1 (+) born xL in
          born y1 (+) born y2 (+) born x by ORDINAL1:10;
          per cases by A244;
          suppose A268:y1 < y2L;
            born x (+) born y1 (+) born y2L in E by A266,ORDINAL7:68;
            then A269: xLy2L+xy1 <= xLy1+xy2L
            by A246,A159,A249,A268,A261,A247,A248,A259;
            A270: xLy2L+xy1 +(xLy2 + xy2L) < xLy1+xy2L +(xy2 + xLy2L)
            by A257,A269,Th44;
            A271: xLy2L+xy1 +(xLy2 + xy2L) = xLy2L+(xy1 +(xLy2 + xy2L))
            by Th37
            .= xLy2L+((xy1 +xLy2) + xy2L) by Th37
            .= (xLy2L + xy2L) + (xLy2+ xy1) by Th37;
            xLy1+xy2L +(xy2 + xLy2L) = xy2L + (xLy1 +(xy2 + xLy2L)) by Th37
            .= xy2L + ((xLy1 +xy2) + xLy2L) by Th37
            .= (xLy2L + xy2L) + (xLy1+xy2) by Th37;
            hence xLy2+ xy1 < xLy1+xy2 by A270,A271,Th43;
          end;
          suppose A272: y1 == y2L;
            A273: xy2L == xy1 by A241,A258,A265,A159,A247,A259,A272,A260;
            A274: xLy2L == xLy1
            by A261,A263,A262,A247,A272,A267,A159,A241,A258;
            A275: xy2 + xLy2L <= xLy1+xy2 by A274,Th32;
            A276:xLy2 + xy1 <= xLy2 + xy2L by A273,Th32;
            xLy2 + xy1 < xy2 + xLy2L by A257,A276,SURREALO:4;
            hence xLy2+ xy1 < xLy1+xy2 by A275,SURREALO:4;
          end;
        end;
        for xR be Surreal st xR in R_x holds P3[D,x,xR,y1,y2]
        proof
          let xR be Surreal such that A277: xR in R_x;
          let xy2,xRy1,xy1,xRy2 be Surreal such that
          A278:born x (+) born y1 c= D & born xR (+) born y1 c= D &
          born x (+) born y2 c= D & born xR (+) born y2 c= D and
          A279: xy1 = x*y1 & xy2=x*y2 & xRy1=xR*y1 & xRy2=xR*y2 and
          A280: x < xR & y1 < y2;
          A281: xy2 = [comp(L_x,x,y2,L_y2) \/ comp(R_x,x,y2,R_y2),
          comp(L_x,x,y2,R_y2) \/ comp(R_x,x,y2,L_y2)] by A279,Th50;
          A282: L_xy2  << {xy2} << R_xy2 & xy2 in {xy2}
          by SURREALO:11,TARSKI:def 1;
          A283: y2L in L_y2 \/ R_y2 by A244,XBOOLE_0:def 3;
          A284: born x (+) born y2L in born x (+) born y2
          by A283,SURREALO:1,ORDINAL7:94;
          reconsider xy2L=x*y2L as Surreal by A2,A284,A278;
          A285: xR in L_x \/ R_x by A277,XBOOLE_0:def 3;
          A286: born  xR (+) born y2L in born x (+) born y2L
          by A285,SURREALO:1,ORDINAL7:94;
          then A287: born xR (+) born y2L in D by A278,A284,ORDINAL1:10;
          then reconsider xRy2L=xR*y2L as Surreal by A2;
          (xRy2) +' xy2L +' -' xRy2L in comp(R_x,x,y2,L_y2)
          by A277,A244,A279,Def14;
          then (xRy2) +' xy2L +' -' xRy2L in R_xy2 by A281,XBOOLE_0:def 3;
          then A288: xy2 < (xRy2) + xy2L - xRy2L by A282;
          then A289: xy2 + xRy2L < (xRy2) + xy2L by Th42;
          A290: born y1 (+) born y2 (+) born x = born x (+) born y1 (+) born y2
          by ORDINAL7:68;
          A291: born y2L (+) born x c= D by A284,A278,ORDINAL1:def 2;
          A292: y2L*x = xy2L & y1*x = xy1
          by  A284,A278,A279,A3,ORDINAL1:def 2;
          A293:  born y2L (+) born xR c= D by A286,A278,A284,ORDINAL1:10,
          ORDINAL1:def 2;
          A294: y2L*xR  = xRy2L by A3,A287,ORDINAL1:def 2;
          A295: y1*xR =xRy1 by A278,A279,A3;
          A296: born y2L (+) born y1 in born y1 (+) born y2
          by A283,SURREALO:1,ORDINAL7:94;
          then A297: born y2L (+) born y1 (+) born x in
          born y1 (+) born y2 (+) born x by ORDINAL7:94;
          then A298: born y2L (+) born y1 (+) born x in E by A241,A290;
          born y2L (+) born y1 (+) born xR in
          born y2 (+) born y1 (+) born xR &
          born y2 (+) born y1 (+) born xR in
          born y2 (+) born y1 (+) born x by A285,SURREALO:1,A296,ORDINAL7:94;
          then A299:born y2L (+) born y1 (+) born xR in
          born y1 (+) born y2 (+) born x by ORDINAL1:10;
          per cases by A244;
          suppose A300:y1 < y2L;
            born x (+) born y1 (+) born y2L in E by A298,ORDINAL7:68;
            then A301: xy2L+xRy1 < xy1+xRy2L
            by A277,A159,A280,A300,A293,A278,A279,A291;
            xy2 + xRy2L <= (xRy2) + xy2L by Th42,A288;
            then A302: xy2 + xRy2L +(xy2L+xRy1) < (xRy2) + xy2L +(xy1+xRy2L)
            by A301,Th44;
            A303: xy2 + xRy2L +(xy2L+xRy1) = xy2 + (xRy2L +(xy2L+xRy1))
            by Th37
            .= xy2 + ((xRy2L +xy2L)+xRy1) by Th37
            .= xy2+ xRy1 + (xRy2L +xy2L) by Th37;
            xRy2 + xy2L +(xy1+xRy2L) = xy2L +(xRy2+(xy1+xRy2L)) by Th37
            .= xy2L +((xRy2+xy1)+xRy2L) by Th37
            .= xy1+xRy2 +(xRy2L +xy2L) by Th37;
            hence xy2+ xRy1 < xy1+xRy2 by A303,A302,Th43;
          end;
          suppose A304: y1 == y2L;
            A305: xy1 == xy2L by A159,A297,A241,A290,A278,A291,A304,A292;
            A306: xRy1 == xRy2L
            by A293,A295,A294,A278,A304,A299,A159,A241,A290;
            A307: xy2 + xRy1 <= xy2 + xRy2L by A306,Th32;
            A308: xRy2 + xy2L <= xy1+xRy2 by A305,Th32;
            xy2+ xRy1 < xRy2 + xy2L by A289,A307,SURREALO:4;
            hence xy2+ xRy1 < xy1+xRy2 by A308,SURREALO:4;
          end;
        end;
        hence thesis by A245;
      end;
      suppose ex y1R be Surreal st y1R in R_y1 & y1 < y1R <= y2;
        then consider y1R be Surreal such that
        A309: y1R in R_y1 & y1 < y1R <= y2;
        A310:  for xL be Surreal st xL in L_x holds P3[D,xL,x,y1,y2]
        proof
          let xL be Surreal such that A311: xL in L_x;
          let xLy2,xy1,xLy1,xy2 be Surreal such that
          A312:born xL (+) born y1 c= D & born x (+) born y1 c= D &
          born xL (+) born y2 c= D & born x (+) born y2 c= D and
          A313: xLy1 = xL*y1 & xLy2=xL*y2 & xy1=x*y1 & xy2=x*y2 and
          A314: xL < x & y1 < y2;
          A315: xy1 = [comp(L_x,x,y1,L_y1) \/ comp(R_x,x,y1,R_y1),
          comp(L_x,x,y1,R_y1) \/ comp(R_x,x,y1,L_y1)] by A313,Th50;
          A316: L_xy1  << {xy1} << R_xy1 & xy1 in {xy1}
          by SURREALO:11,TARSKI:def 1;
          A317: y1R in L_y1 \/ R_y1 by A309,XBOOLE_0:def 3;
          A318: born x (+) born y1R in born x (+) born y1
          by A317,SURREALO:1,ORDINAL7:94;
          reconsider xy1R=x*y1R as Surreal by A2,A312,A318;
          A319: xL in L_x \/ R_x by A311,XBOOLE_0:def 3;
          then A320: born xL (+) born y1R in born x (+) born y1R
          by SURREALO:1,ORDINAL7:94;
          then A321: born xL (+) born y1R in born x (+) born y1
          by A318,ORDINAL1:10;
          A322: born xL (+) born y1R in D by A320,A318,ORDINAL1:10,A312;
          reconsider xLy1R=xL*y1R as Surreal by A321,A2,A312;
          (xLy1) +' xy1R +' -' xLy1R in comp(L_x,x,y1,R_y1)
          by A311,A309,A313,Def14;
          then (xLy1) +' xy1R +' -' xLy1R in R_xy1 by A315,XBOOLE_0:def 3;
          then A323: xy1 < xLy1 + xy1R - xLy1R by A316;
          then A324: xy1 + xLy1R < xLy1 + xy1R by Th42;
          A325: born y1 (+) born y2 (+) born x = born x (+) born y1 (+) born y2
          by ORDINAL7:68;
          A326: born y1R (+) born x c= D by A318,A312,ORDINAL1:def 2;
          A327: y1R*x = xy1R & y2*x = xy2 by A318,A312,ORDINAL1:def 2,A313,A3;
          A328:  born y1R (+) born xL c= D
          by A320,A318,ORDINAL1:10,A312,ORDINAL1:def 2;
          A329: y1R*xL  = xLy1R by A3,A322,ORDINAL1:def 2;
          A330: y2*xL =xLy2 by A312,A313,A3;
          A331: born y1R (+) born y2 in born y1 (+) born y2
          by A317,SURREALO:1,ORDINAL7:94;
          then A332: born y1R (+) born y2 (+) born x in
          born y1 (+) born y2 (+) born x by ORDINAL7:94;
          then A333: born y1R (+) born y2 (+) born x in E by A241,A325;
          born y1R (+) born y2 (+) born xL in
          born y1 (+) born y2 (+) born xL &
          born y1 (+) born y2 (+) born xL in
          born y1 (+) born y2 (+) born x by A319,SURREALO:1,A331,ORDINAL7:94;
          then A334:born y1R (+) born y2 (+) born xL in
          born y1 (+) born y2 (+) born x by ORDINAL1:10;
          per cases by A309;
          suppose A335:y1R < y2;
            born x (+) born y1R (+) born y2 in E by A333,ORDINAL7:68;
            then A336: xLy2+xy1R < xLy1R+xy2
            by A159,A311,A314,A335,A328,A312,A313,A326;
            xy1 + xLy1R <= xLy1 + xy1R by A323,Th42;
            then A337: xy1 + xLy1R + (xLy2+xy1R) < xLy1 + xy1R+(xLy1R+xy2)
            by A336,Th44;
            A338: xy1 + xLy1R + (xLy2+xy1R) = xy1 + (xLy1R + (xLy2+xy1R))
            by Th37
            .=xy1 + (xLy2+(xLy1R+xy1R)) by Th37
            .=xy1 + xLy2+(xLy1R+xy1R) by Th37;
            xLy1 + xy1R+(xLy1R+xy2) = xLy1 + (xy1R+(xLy1R+xy2)) by Th37
            .= xLy1 + ((xy1R+xLy1R)+xy2) by Th37
            .= xLy1 + xy2+(xy1R+xLy1R) by Th37;
            hence xLy2+ xy1 < xLy1+xy2 by A337,A338,Th43;
          end;
          suppose A339: y1R == y2;
            A340: xy1R == xy2 by A332,A241,A325,A159,A312,A326,A339,A327;
            A341: xLy1R == xLy2
            by A328,A330,A329,A312,A339,A334,A159,A241,A325;
            A342: xy1 + xLy2 <= xy1 + xLy1R by A341,Th32;
            A343:xLy1 + xy1R <= xLy1 + xy2 by A340,Th32;
            xy1 + xLy2 < xLy1 + xy1R by A324,A342,SURREALO:4;
            hence xLy2+ xy1 < xLy1+xy2 by A343,SURREALO:4;
          end;
        end;
        for xR be Surreal st xR in R_x holds P3[D,x,xR,y1,y2]
        proof
          let xR be Surreal such that A344: xR in R_x;
          let xy2,xRy1,xy1,xRy2 be Surreal such that
          A345:born x (+) born y1 c= D & born xR (+) born y1 c= D &
          born x (+) born y2 c= D & born xR (+) born y2 c= D and
          A346: xy1 = x*y1 & xy2=x*y2 & xRy1=xR*y1 & xRy2=xR*y2 and
          A347: x < xR & y1 < y2;
          A348: xy1 = [comp(L_x,x,y1,L_y1) \/ comp(R_x,x,y1,R_y1),
          comp(L_x,x,y1,R_y1) \/ comp(R_x,x,y1,L_y1)] by A346,Th50;
          A349: L_xy1  << {xy1} << R_xy1 & xy1 in {xy1}
          by SURREALO:11,TARSKI:def 1;
          A350: y1R in L_y1 \/ R_y1 by A309,XBOOLE_0:def 3;
          A351: born x (+) born y1R in born x (+) born y1
          by SURREALO:1,A350,ORDINAL7:94;
          then reconsider xy1R=x*y1R as Surreal by A2,A345;
          A352: xR in L_x \/ R_x by A344,XBOOLE_0:def 3;
          A353: born xR (+) born y1R in born x (+) born y1R
          by A352,SURREALO:1,ORDINAL7:94;
          then A354: born xR (+) born y1R in D by A345,A351,ORDINAL1:10;
          then reconsider xRy1R=xR*y1R as Surreal by A2;
          (xRy1) +' xy1R +' -' xRy1R in comp(R_x,x,y1,R_y1)
          by A344,A309,A346,Def14;
          then (xRy1) +' xy1R +' -' xRy1R in L_xy1 by A348,XBOOLE_0:def 3;
          then A355: xRy1 + xy1R - xRy1R <xy1 by A349;
          then A356: xRy1 + xy1R < xy1 + xRy1R by Th41;
          A357: born y1 (+) born y2 (+) born x = born x (+) born y1 (+) born y2
          by ORDINAL7:68;
          A358: born y1R (+) born x c= D by A351,A345,ORDINAL1:def 2;
          A359: y1R*x = xy1R & y2*x = xy2
          by A345,A346,A3,A351,ORDINAL1:def 2;
          A360:  born y1R (+) born xR c= D by A353,A345,A351,ORDINAL1:10,
          ORDINAL1:def 2;
          A361: y1R*xR  = xRy1R by A3,A354,ORDINAL1:def 2;
          A362: y2*xR =xRy2 by A345,A346,A3;
          A363: born y1R (+) born y2 in born y1 (+) born y2
          by A350,SURREALO:1,ORDINAL7:94;
          then A364: born y1R (+) born y2 (+) born x in
          born y1 (+) born y2 (+) born x by ORDINAL7:94;
          then A365: born y1R (+) born y2 (+) born x in E by A241,A357;
          born y1R (+) born y2 (+) born xR in
          born y1 (+) born y2 (+) born xR &
          born y1 (+) born y2 (+) born xR in
          born y1 (+) born y2 (+) born x by A352,SURREALO:1,A363,ORDINAL7:94;
          then
          A366: born y1R (+) born y2 (+) born xR in
          born y1 (+) born y2 (+) born x by ORDINAL1:10;
          per cases by A309;
          suppose A367:y1R < y2;
            born x (+) born y1R (+) born y2 in E by A365,ORDINAL7:68;
            then A368: xy2+xRy1R < xy1R+xRy2
            by A344,A159,A347,A367,A360,A345,A346,A358;
            xRy1 + xy1R <= xy1 + xRy1R by A355,Th41;
            then A369: xRy1 + xy1R +(xy2+xRy1R) < xy1 + xRy1R +(xy1R+xRy2)
            by A368,Th44;
            A370: xRy1 + xy1R +(xy2+xRy1R) = xRy1 + (xy1R +(xRy1R+xy2))
            by Th37
            .= xRy1 + ((xy1R +xRy1R)+xy2) by Th37
            .=(xy1R + xRy1R)+ (xy2+xRy1) by Th37;
            xy1 + xRy1R +(xy1R+xRy2) = xy1 + (xRy1R +(xy1R+xRy2)) by Th37
            .= xy1 + ((xRy1R +xy1R)+xRy2) by Th37
            .= xy1 +xRy2 +(xRy1R +xy1R) by Th37;
            hence xy2+ xRy1 < xy1+xRy2 by A370,A369,Th43;
          end;
          suppose A371: y1R == y2;
            A372: xy1R == xy2 by A159,A364,A241,A357,A345,A358,A371,A359;
            A373: xRy1R == xRy2
            by A360,A362,A361,A345,A371,A366,A159,A241,A357;
            A374: xy1+ xRy1R <= xy1+ xRy2 by A373,Th32;
            A375: xy2 + xRy1 <= xy1R + xRy1 by A372,Th32;
            xRy1 + xy1R < xy1 + xRy2 by A356,A374,SURREALO:4;
            hence xy2+ xRy1 < xy1+xRy2 by A375,SURREALO:4;
          end;
        end;
        hence thesis by A310;
      end;
    end;
    A376:for E be Ordinal holds Q24[E] from ORDINAL1:sch 2(A158);
    thus for x1,x2,y be Surreal holds P2[D,x1,x2,y]
    proof
      let x1,x2,y be Surreal;
      born x1 (+) born x2 (+) born y c= born x1 (+) born x2 (+) born y;
      hence P2[D,x1,x2,y] by A376;
    end;
    defpred QEE[Ordinal] means
    for x1,x2,y1,y2 be Surreal st born x1 (+) born x2 c= $1
    holds P3[D,x1,x2,y1,y2];
    A377: for E be Ordinal st for C be Ordinal st C in E holds QEE[C]
    holds QEE[E]
    proof
      let E be Ordinal such that A378:for C be Ordinal st C in E holds QEE[C];
      let x1,x2,y1,y2 be Surreal such that
      A379: born x1 (+) born x2 c= E;
      let x1y2,x2y1,x1y1,x2y2 be Surreal such that
      A380: born x1 (+) born y1 c= D & born x2 (+) born y1 c= D &
      born x1 (+) born y2 c= D & born x2 (+) born y2 c= D and
      A381:x1y1=x1*y1 & x1y2=x1*y2 & x2y1=x2*y1 & x2y2=x2*y2 &
      x1 < x2 & y1 < y2;
      per cases by A381,SURREALO:13;
      suppose ex x1R be Surreal st x1R in R_x1 & x1 < x1R <= x2;
        then consider x1R be Surreal such that
        A382: x1R in R_x1 & x1 < x1R <= x2;
        x1R in L_x1 \/ R_x1 by A382,XBOOLE_0:def 3;
        then A383: born x1R (+) born x2 in born x1 (+) born x2 &
        born x1R (+) born y1 in born x1 (+) born y1 &
        born x1R (+) born y2 in born x1 (+) born y2 by SURREALO:1,ORDINAL7:94;
        then reconsider x1Ry1=x1R*y1,
        x1Ry2=x1R*y2
        as Surreal by A2,A380;
        A384: born x1R (+) born y1 c= D & born x1R (+) born y2 c= D
        by A383,A380,ORDINAL1:def 2;
        per cases by A382;
        suppose A385: x1R == x2;
          born x1R (+) born x2 (+) born y1 c=born x1R (+) born x2 (+) born y1;
          then A386:x1Ry1 == x2y1 by A376,A385,A384,A380,A381;
          born x1R (+) born x2 (+) born y2 c=born x1R (+) born x2 (+) born y2;
          then A387: x1Ry2 == x2y2 by A376,A385,A384,A380,A381;
          born x1 (+) born y1 (+) born y2 c=born x1 (+) born y1 (+) born y2;
          then A388: x1y2 + x1Ry1 < x1y1 + x1Ry2 by A376,A382,A380,A381,A384;
          A389:x1y1 + x1Ry2 <= x1y1+x2y2 by A387,Th32;
          x1y2+ x2y1 <= x1y2+x1Ry1 by A386,Th32;
          then x1y2+ x2y1 < x1y1 + x1Ry2 by A388,SURREALO:4;
          hence  x1y2+x2y1 < x1y1+x2y2 by SURREALO:4,A389;
        end;
        suppose  x1R < x2;
          then  A390: x1Ry2+x2y1 < x1Ry1+x2y2 by A384,A383,A378,A379,A380,A381;
          born x1 (+) born y1 (+) born y2 c= born x1 (+) born y1 (+) born y2;
          then x1y2+x1Ry1 <= x1y1 +x1Ry2 by A376,A384,A382,A380,A381;
          then A391: x1Ry2+x2y1 +(x1y2+x1Ry1) < x1Ry1+x2y2 +(x1y1 +x1Ry2)
          by A390,Th44;
          A392: x1Ry2+x2y1 +(x1y2+x1Ry1) = x1Ry2+(x2y1 +(x1y2+x1Ry1)) by Th37
          .= x1Ry2+((x2y1 +x1y2)+x1Ry1) by Th37
          .= x1Ry2+x1Ry1+ (x1y2+x2y1) by Th37;
          x1Ry1+x2y2 +(x1y1 +x1Ry2) = x1Ry1+(x2y2 +(x1y1 +x1Ry2)) by Th37
          .= x1Ry1+((x2y2 +x1y1) +x1Ry2) by Th37
          .= x1Ry1 +x1Ry2 +(x2y2 +x1y1) by Th37;
          hence x1y2+x2y1 < x1y1+x2y2 by A391,A392,Th43;
        end;
      end;
      suppose ex x2L be Surreal st x2L in L_x2 & x1 <= x2L < x2;
        then consider x2L be Surreal such that
        A393: x2L in L_x2 & x1 <= x2L < x2;
        x2L in L_x2 \/ R_x2 by A393,XBOOLE_0:def 3;
        then A394: born x2L (+) born x1 in born x1 (+) born x2 &
        born x2L (+) born y1 in born x2 (+) born y1 &
        born x2L (+) born y2 in born x2 (+) born y2 by SURREALO:1,ORDINAL7:94;
        then reconsider x2Ly1=x2L*y1,x2Ly2=x2L*y2 as Surreal by A2,A380;
        A395: born x2L (+) born y1 c= D & born x2L (+) born y2 c= D
        by A394,A380,ORDINAL1:def 2;
        per cases by A393;
        suppose A396: x1 == x2L;
          born x1 (+) born x2L (+) born y1 c=born x1 (+) born x2L (+) born y1;
          then A397:x1y1 == x2Ly1 by A376,A396,A395,A380,A381;
          born x1 (+) born x2L (+) born y2 c=born x1 (+) born x2L (+) born y2;
          then A398: x1y2 == x2Ly2 by A376,A396,A395,A380,A381;
          born x2 (+) born y1 (+) born y2 c=born x2 (+) born y1 (+) born y2;
          then A399: x2Ly2 + x2y1 < x2Ly1 + x2y2 by A376,A393,A380,A381,A395;
          A400: x2Ly1 + x2y2 <=x1y1+x2y2 by A397,Th32;
          x1y2+x2y1 <= x2Ly2 + x2y1 by A398,Th32;
          then x1y2+x2y1 < x2Ly1 + x2y2 by A399,SURREALO:4;
          hence  x1y2+x2y1 < x1y1+x2y2 by A400,SURREALO:4;
        end;
        suppose x1 < x2L;
          then  A401: x1y2+x2Ly1 < x1y1+x2Ly2 by A395,A394,A378,A379,A380,A381;
          born x2 (+) born y1 (+) born y2 c= born x2 (+) born y1 (+) born y2;
          then x2Ly2+x2y1 <= x2Ly1 +x2y2 by A376,A395,A393,A380,A381;
          then A402: x2Ly2+x2y1+(x1y2+x2Ly1) < x2Ly1 +x2y2 +(x1y1+x2Ly2)
          by A401,Th44;
          A403: x2Ly2+x2y1+(x1y2+x2Ly1) = x2Ly2+(x2y1+(x1y2+x2Ly1)) by Th37
          .= x2Ly2+((x2y1+x1y2)+x2Ly1) by Th37
          .= (x1y2 + x2y1)+(x2Ly2+x2Ly1) by Th37;
          x2Ly1 +x2y2 +(x1y1+x2Ly2) = x2Ly1 +(x2y2 +(x1y1+x2Ly2)) by Th37
          .= x2Ly1 +((x2y2 +x1y1)+x2Ly2) by Th37
          .= (x1y1+x2y2) + (x2Ly2+x2Ly1) by Th37;
          hence  x1y2+x2y1 < x1y1+x2y2 by A402,A403,Th43;
        end;
      end;
    end;
    A404:for E be Ordinal holds QEE[E] from ORDINAL1:sch 2(A377);
    let x1,x2,y1,y2 be Surreal;
    born x1 (+) born x2 c= born x1 (+) born x2;
    hence thesis by A404;
  end;
  A405:for E be Ordinal holds Q[E] from ORDINAL1:sch 2(A1);
  thus for x,y holds x*y is Surreal by A405;
  thus for x,y holds x*y = y*x by A405;
  thus for x1,x2,y,x1y,x2y be Surreal st x1 == x2 & x1y = x1*y & x2y = x2*y
  holds  x1y == x2y
  proof
    let x1,x2,y,x1y,x2y be Surreal such that
    A406:x1 == x2 & x1y = x1*y & x2y = x2*y;
    set B1 = born x1 (+) born y,B2 = born x2 (+) born y,B=B1\/B2;
    B1 c= B & B2 c= B by XBOOLE_1:7;
    hence thesis by A406,A405;
  end;
  let x1,x2,y1,y2,x1y2,x2y1,x1y1,x2y2 be Surreal such that
  A407:x1y1=x1*y1 & x1y2=x1*y2 & x2y1=x2*y1 & x2y2=x2*y2 & x1 < x2 & y1 < y2;
  set B11 = born x1 (+) born y1,
  B12 = born x1 (+) born y2,
  B21 = born x2 (+) born y1,
  B22 = born x2 (+) born y2,
  B1 = B11\/B12, B2 = B21\/B22,B=B1\/B2;
  B11 c= B1 & B12 c= B1 & B21 c= B2 & B22 c= B2 &
  B1 c= B1\/B2 & B2 c= B1\/B2 by XBOOLE_1:7;
  then B11 c= B1\/B2 & B12 c= B1\/B2 & B21 c= B1\/B2 & B22 c= B1\/B2
  by XBOOLE_1:1;
  hence x1y2+x2y1 < x1y1+x2y2 by A405,A407;
end;

registration
  let a,b be Surreal;
  cluster a * b -> surreal;
  coherence by Th51;
end;

::$N Commutativity of Multiplication for Surreal Number, Conway Ch.1 Th.7(iii)
definition
  let a,b be Surreal;
  redefine func a * b;  :: redefines * (SURREALR, definition)
  commutativity by Th51;
end;

registration
  let x,y be Surreal;
  let X,Y be set;
  cluster comp(X,x,y,Y) -> surreal-membered;
  coherence
  proof
    let o;
    assume o in comp(X,x,y,Y);
    then ex x1,y1 be Surreal st
    o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by Def14;
    hence thesis;
  end;
end;

definition
  let x,y be Surreal;
  let X,Y be set;
  redefine func comp(X,x,y,Y) means :Def15:  :: redefines comp (SURREALR, definition)
    o in it iff ex x1,y1 be Surreal st
      o = x1*y + x*y1 - x1*y1 & x1 in X & y1 in Y;
  compatibility
  proof
    let C be set;
    thus C =comp(X,x,y,Y) implies
    for o holds o in C iff ex x1,y1 be Surreal st
    o = (x1*y) + (x*y1) - (x1*y1) & x1 in X & y1 in Y
    proof
      assume A1:C =comp(X,x,y,Y);
      let o;
      thus o in C implies ex x1,y1 be Surreal st
      o = (x1*y) + (x*y1) - (x1*y1) & x1 in X & y1 in Y
      proof
        assume o in C;
        then consider x1,y1 be Surreal such that
        A2:o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by A1,Def14;
        o = (x1*y) + (x*y1) - (x1*y1) by A2;
        hence thesis by A2;
      end;
      assume ex x1,y1 be Surreal st
      o = (x1*y) + (x*y1) - (x1*y1) & x1 in X & y1 in Y;
      hence thesis by A1,Def14;
    end;
    assume A3:for o holds o in C iff ex x1,y1 be Surreal st
    o = (x1*y) + (x*y1) - (x1*y1) & x1 in X & y1 in Y;
    thus  C c= comp(X,x,y,Y)
    proof
      let o such that A4:o in C;
      ex x1,y1 be Surreal st
      o = (x1*y) + (x*y1) - (x1*y1) & x1 in X & y1 in Y by A4,A3;
      hence thesis by Def14;
    end;
    let o such that A5:o in comp(X,x,y,Y);
    consider x1,y1 be Surreal such that
    A6:o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by A5,Def14;
    o = (x1*y) + (x*y1) - (x1*y1) by A6;
    hence thesis by A6,A3;
  end;
end;

theorem
  comp({z},x,y,{t}) = { z*y + x*t - z*t}
proof
  A1:comp({z},x,y,{t}) c= { z*y + x*t - z*t}
  proof
    let o;
    assume o in comp({z},x,y,{t});
    then consider  x1,y1 be Surreal such that
    A2: o = x1*y + x*y1 - x1*y1 & x1 in {z} & y1 in {t} by Def15;
    x1=z & y1=t by A2,TARSKI:def 1;
    hence thesis by A2,TARSKI:def 1;
  end;
  z in {z} & t in {t} by TARSKI:def 1;
  then z*y + x*t - z*t in comp({z},x,y,{t}) by Def15;
  hence thesis by A1, ZFMISC_1:33;
end;


Lm6:for X,Y be set holds comp(X,x,y,Y) c= comp(Y,y,x,X)
proof
  let X,Y be set;
  let o;
  assume o in comp(X,x,y,Y);
  then consider x1,y1 be Surreal such that
  A1: o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y by Def14;
  o = (x1*y) + (x*y1) + - (x1*y1) by A1
  .= (y1*x) + (y*x1) + - (y1*x1);
  hence thesis by A1,Def14;
end;

theorem Th53:
  for X,Y be set holds comp(X,x,y,Y) = comp(Y,y,x,X)
proof
  let X,Y be set;
  comp(X,x,y,Y) c= comp(Y,y,x,X) c= comp(X,x,y,Y) by Lm6;
  hence thesis by XBOOLE_0:def 10;
end;

::$N Conway Ch.1 Th.8(i)
theorem
  for x1,x2,y be Surreal st x1 == x2 holds x1 * y == x2 * y by Th51;

::$N Conway Ch.1 Th.8(iii)
theorem
  for x1,x2,y1,y2 be Surreal st x1 < x2 & y1 < y2
    holds x1*y2+x2*y1 < x1*y1+x2*y2 by Th51;

::$N Conway Ch.1 Th.7(i)
theorem Th56:
  x * 0_No = 0_No
proof
  A1: comp(L_x,x,0_No,L_0_No) ={} & comp(R_x,x,0_No,R_0_No) = {} by Th49;
  x * 0_No = [comp(L_x,x,0_No,L_0_No) \/ comp(R_x,x,0_No,R_0_No),
              comp(L_x,x,0_No,L_0_No) \/ comp(R_x,x,0_No,L_0_No)] by Th50;
  hence thesis by A1;
end;

::$N Multiplicative Identity for Surreal Number, Conway Ch.1 Th.7(ii)
theorem Th57:
  x * 1_No = x
proof
  defpred P[Ordinal] means for x st born x c= $1 holds x*1_No =x;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x such that A3:born x c= D;
    A4: comp(R_x,x,1_No,R_1_No) = {} & comp(L_x,x,1_No,R_1_No) ={} by Th49;
    A5: for X be surreal-membered set st X c= L_x \/R_x
    holds comp(X,x,1_No,L_1_No)=X
    proof
      let X be surreal-membered set such that A6:X c= L_x \/R_x;
      thus comp(X,x,1_No,L_1_No)c=X
      proof
        let o such that A7: o in comp(X,x,1_No,L_1_No);
        consider x1,y1 be Surreal such that
        A8: o = (x1*1_No) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in L_1_No
        by A7,Def14;
        A9:y1=0_No by A8,TARSKI:def 1;
        A10: born x1 in born x by A8,A6,SURREALO:1;
        o = x1*1_No + x*y1 +- 0_No by A8,A9,Th56
        .= x1*1_No + 0_No + 0_No by A9,Th56
        .= x1*1_No;
        hence thesis by A10,A2,A3,A8;
      end;
      let o such that A11: o in X;
      reconsider x1=o as Surreal by A11,SURREAL0:def 16;
      A12: born x1 in born x by A11,A6,SURREALO:1;
      0_No in L_1_No by TARSKI:def 1;
      then
      A13: x1*1_No + x*0_No + - x1*0_No in comp(X,x,1_No,L_1_No) by A11,Def14;
      x1*1_No + x*0_No + - x1*0_No = x1*1_No + x*0_No +- 0_No by Th56
      .= x1*1_No + 0_No + 0_No by Th56
      .= x1*1_No;
      hence thesis by A12,A2,A3,A13;
    end;
    A14: comp(L_x,x,1_No,L_1_No)=L_x & comp(R_x,x,1_No,L_1_No)=R_x
    by A5,XBOOLE_1:7;
    x * 1_No = [comp(L_x,x,1_No,L_1_No) \/ comp(R_x,x,1_No,R_1_No),
    comp(L_x,x,1_No,R_1_No) \/ comp(R_x,x,1_No,L_1_No)] by Th50
    .=[L_x,R_x] by A4,A14;
    hence thesis;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

registration
  let x;
  reduce x*0_No to 0_No;
  reducibility by Th56;
  reduce x*1_No to x;
  reducibility by Th57;
end;

Lm7:
  for X,Y,Z be surreal-membered set
    st (X = L_x or X = R_x or X={x}) &
       (Y = L_y or Y = R_y or Y={y}) &
       (Z = L_z or Z = R_z or Z={z}) &
       (X <> {x} or Y<>{y} or Z<>{z})
    for x1,y1,z1 be Surreal st
         x1 in X & y1 in Y & z1 in Z holds
  born x1 (+) born y1 (+) born z1 in born x (+) born y (+) born z
proof
  set D=born x (+) born y (+) born z;
  let X,Y,Z be surreal-membered set such that
  A1: (X = L_x or X = R_x or X={x}) &
       (Y = L_y or Y = R_y or Y={y}) &
       (Z = L_z or Z = R_z or Z={z}) &
       (X <> {x} or Y<>{y} or Z<>{z});
  let x1,y1,z1 be Surreal such that
  A2: x1 in X & y1 in Y & z1 in Z;
  per cases;
  suppose Z<>{z};
    then A3: z1 in L_z \/ R_z by A1,A2,XBOOLE_0:def 3;
    x1 in L_x\/R_x or x1=x by A2,A1,TARSKI:def 1,XBOOLE_0:def 3;
    then A4: born x1 c= born x by SURREALO:1,ORDINAL1:def 2;
    y1 in L_y\/R_y or y1=y by A2,A1,TARSKI:def 1,XBOOLE_0:def 3;
    then born y1 c= born y by SURREALO:1,ORDINAL1:def 2;
    then born x1 (+) born y1 c= born x1 (+) born y c= born x (+) born y
    by A4,ORDINAL7:95;
    then born x1 (+) born y1 c= born x (+) born y by XBOOLE_1:1;
    then born x1 (+) born y1 (+) born z1 c= born x (+) born y (+) born z1
    in born x (+) born y (+) born z
    by A3,SURREALO:1,ORDINAL7:94,95;
    hence thesis by ORDINAL1:12;
  end;
  suppose A5:Z={z};
    then (x1 in L_x\/R_x & y1 in L_y\/R_y) or
    (x1 in L_x\/R_x & y1 =y) or
    (x1 = x & y1 in L_y\/R_y) by A1,A2,XBOOLE_0:def 3,TARSKI:def 1;
    then born x1 (+) born y1 in born x (+) born y or
    born x1 (+) born y1 in born x1 (+) born y in born x (+) born y
    by ORDINAL7:94,SURREALO:1;
    then  born x1 (+) born y1 in born x (+) born y
    by ORDINAL1:10;
    then  born x1 (+) born y1 (+) born z1 in born x (+) born y (+) born z1
    by ORDINAL7:94;
    hence thesis by A2,A5,TARSKI:def 1;
  end;
end;

Lm8:for x,y be Surreal holds -(x*y) = (-x) * y
proof
  defpred P[Ordinal] means
  for x,y be Surreal  st born x (+) born y c= $1 holds -(x*y) = (-x) * y;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x,y be Surreal  such that A3: born x (+) born y c= D;
    set mx=-x;
    A4: mx = [--R_x, --L_x] by Th7;
    A5: for X,Y be surreal-membered set st
     X c= L_x \/ R_x & Y c= L_y\/R_y holds comp(--X,-x,y,Y) = -- comp(X,x,y,Y)
    proof
      let X,Y be surreal-membered set such that
      A6:X c= L_x \/ R_x & Y c= L_y \/ R_y;
      thus comp(--X,-x,y,Y) c= -- comp(X,x,y,Y)
      proof
        let o;
        assume o in comp(--X,-x,y,Y);
        then consider x1,y1 be Surreal such that
        A7:o = x1*y + mx*y1 - x1*y1 & x1 in --X & y1 in Y by Def15;
        consider z be Surreal such that
        A8: z in X & x1= -z by A7,Def4;
        A9: (z*y) + (x*y1) -(z*y1) in comp(X,x,y,Y) by A7,A8,Def15;
        born z (+) born y in born x (+) born y
        by A8,A6,SURREALO:1,ORDINAL7:94;
        then A10: -(z*y) = x1 * y by A8,A2,A3;
        A11:born x (+) born y1 in born x (+) born y
        by A7,A6,SURREALO:1,ORDINAL7:94;
        then A12: -(x*y1) = mx * y1 by A2,A3;
        born z (+) born y1 in born x (+) born y1
        by A8,A6,SURREALO:1,ORDINAL7:94;
        then o = (-(z*y)) + (-(x*y1)) + - (-(z*y1))
        by A7,A10,A12,A8,A2,A3,A11,ORDINAL1:10
        .= (- ((z*y) + (x*y1))) + - (-(z*y1)) by Th40
        .= - ((z*y) + (x*y1) + -(z*y1)) by Th40;
        hence thesis by A9,Def4;
      end;
      let o;
      assume o in -- comp(X,x,y,Y);
      then consider oo be Surreal such that
      A13: oo in comp(X,x,y,Y) & o= -oo by Def4;
      consider z,y1 be Surreal such that
      A14:oo = z*y + x*y1 - z*y1 & z in X & y1 in Y by A13,Def15;
      set x1 = -z;
      A15: x1 in --X by A14,Def4;
      born z (+) born y in born x (+) born y by A14,A6,SURREALO:1,ORDINAL7:94;
      then A16: -(z*y) = x1 * y by A2,A3;
      A17:born x (+) born y1 in born x (+) born y
      by A14,A6,SURREALO:1,ORDINAL7:94;
      then A18: -(x*y1) = mx * y1 by A2,A3;
      born z (+) born y1 in born x (+) born y1
      by A14,A6,SURREALO:1,ORDINAL7:94;
      then x1 * y + mx * y1 - x1 * y1
      = (-(z*y)) + (-(x*y1)) + - (-(z*y1)) by A16,A18,A2,A3,A17,ORDINAL1:10
      .= (- ((z*y) + (x*y1))) - (-(z*y1)) by Th40
      .= o by A13,A14,Th40;
      hence thesis by A15,A14,Def15;
    end;
    A19: L_x c= L_x \/ R_x & L_y c= L_y \/ R_y &
    R_x c= L_x \/ R_x & R_y c= L_y \/ R_y by XBOOLE_1:7;
    A20: comp(L_mx,mx,y,L_y) = -- comp(R_x,x,y,L_y) &
    comp(L_mx,mx,y,R_y) = -- comp(R_x,x,y,R_y) by A4,A5,A19;
    A21: comp(R_mx,mx,y,L_y) = -- comp(L_x,x,y,L_y) &
    comp(R_mx,mx,y,R_y) = -- comp(L_x,x,y,R_y) by A4,A5,A19;
    A22: x * y = [comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y),
    comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y)] by Th50;
    mx * y =
     [-- comp(R_x,x,y,L_y) \/ -- comp(L_x,x,y,R_y),
    --comp(R_x,x,y,R_y) \/ --comp(L_x,x,y,L_y)] by A20,A21,Th50
    .= [-- (comp(R_x,x,y,L_y) \/ comp(L_x,x,y,R_y)),
    --comp(R_x,x,y,R_y) \/ --comp(L_x,x,y,L_y)] by Th20
    .= [-- R_(x*y), -- L_(x*y)] by A22,Th20
    .= - (x*y) by Th7;
    hence thesis;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;

::$N Conway Ch.1 Th.7(in)
theorem Th58:
   x * (-y) = -(x*y) & (-x) * y = -(x*y) & (-x) * (-y) = x*y
proof
  (-x) * (-y) = - ( (-x)*y) by Lm8;
  then (-x) * (-y) = - -(x*y) by Lm8;
  hence thesis by Lm8;
end;

theorem Th59:
  for X,Y1,Y2 be set st Y1 c= Y2 holds comp(X,x,y,Y1) c= comp(X,x,y,Y2)
proof
  let X,Y1,Y2 be set such that A1: Y1 c= Y2;
  let o;
  assume o in comp(X,x,y,Y1);
  then ex x1,y1 be Surreal st
  o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y1 by Def14;
  hence thesis by A1,Def14;
end;

theorem Th60:
  for X,Y1,Y2 be set holds
      comp(X,x,y,Y1\/Y2) = comp(X,x,y,Y1)\/comp(X,x,y,Y2)
proof
  let X,Y1,Y2 be set;
  thus comp(X,x,y,Y1\/Y2) c= comp(X,x,y,Y1)\/comp(X,x,y,Y2)
  proof
    let o;
    assume o in comp(X,x,y,Y1\/Y2);
    then consider x1,y1 be Surreal such that
    A1: o = (x1*y) +' (x*y1) +' -' (x1*y1) & x1 in X & y1 in Y1\/Y2 by Def14;
    y1 in Y1 or y1 in Y2 by A1,XBOOLE_0:def 3;
    then o in comp(X,x,y,Y1) or o in comp(X,x,y,Y2) by A1,Def14;
    hence thesis by XBOOLE_0:def 3;
  end;
  comp(X,x,y,Y1) c= comp(X,x,y,Y1\/Y2) &
  comp(X,x,y,Y2) c= comp(X,x,y,Y1\/Y2) by XBOOLE_1:7,Th59;
  hence thesis by XBOOLE_1:8;
end;

theorem Th61:
  for X,Y be set st
    for x st x in X ex y st y in Y & x==y holds X <=_ Y
proof
  let X,Y be set such that
  A1:for x st x in X ex y st y in Y & x==y;
  let x;assume x in X;
  then ex y st y in Y & x==y by A1;
  hence thesis;
end;

theorem
  for X1,X2 be set st X1 <=_ X2 holds -- X1 <=_ -- X2
proof
  let X1,X2 be set such that A1:X1 <=_ X2;
  let x such that A2: x in -- X1;
  consider y such that
  A3:y in X1 & x = -y by A2,Def4;
  consider y2,y3 be Surreal such that
  A4:y2 in X2 & y3 in X2 & y2 <= y <= y3 by A3,A1;
  A5:-y2 in --X2 & -y3 in --X2 by A4,Def4;
  -y3 <= -y <= -y2 by Th10,A4;
  hence thesis by A5,A3;
end;

theorem
  for X1,X2 be set holds -- (X1++X2) = (--X1) ++ (--X2)
proof
   let X1,X2 be set;
   thus -- (X1++X2) c= (--X1) ++ (--X2)
   proof
     let a be object;
     assume a in -- (X1++X2);
     then consider xy be Surreal such that
     A1: xy in X1++X2 & a=-xy by Def4;
     consider x,y such that
     A2:  x in X1 & y in X2 & xy = x+y by A1,Def8;
     -x in --X1 & -y in --X2 by A2,Def4;
     then -(x+y) = -x + -y in (--X1) ++ (--X2) by Th40,Def8;
     hence thesis by A1,A2;
   end;
   let a be object;
   assume a in (--X1) ++ (--X2);
   then consider x1,y1 be Surreal such that
   A3: x1 in --X1 & y1 in --X2 & a = x1 + y1 by Def8;
   consider x such that
   A4: x in X1 & x1 = -x by A3,Def4;
   consider y such that
   A5: y in X2 & y1 = -y by A3,Def4;
   x+y in X1++X2 by A4,A5,Def8;
   then -x + -y = -(x+y) in -- (X1++X2) by Th40,Def4;
   hence thesis by A3,A4,A5;
end;

theorem
  for X be surreal-membered set holds X ++ {0_No} = X
proof
  let X be surreal-membered set;
  thus X ++ {0_No} c= X
  proof
    let xy be object such that A1:xy in X ++ {0_No};
    consider x,y such that
    A2: x in X & y in {0_No} & xy= x+y by A1,Def8;
    y=0_No by A2,TARSKI:def 1;
    hence thesis by A2;
  end;
  let xy be object such that A3:xy in X;
  reconsider x=xy as Surreal by A3,SURREAL0:def 16;
  x+0_No = x &0_No in {0_No} by TARSKI:def 1;
  hence thesis by A3,Def8;
end;

theorem Th65:
  x==y implies -x== -y by Th10;

theorem
  for x1,x2,y1,y2 be Surreal st
    x1==x2 & y1==y2 holds x1+y1 == x2+y2 by Th43;

::$N Distributivity of Multiplication Over Addition for Surreal Numbers, Conway Ch.1 Th.7(v)
theorem Th67:
  x*(y+z) == x*y + x*z
proof
  defpred P[Ordinal] means
  for x,y,z be Surreal st
  born x (+) born y (+) born z c= $1 holds x*(y+z) == x*y + x*z;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x,y,z such that A3:born x (+) born y (+) born z c= D;
    set xy=x*y,xz=x*z, yz=y+z;
    A4: xy = [comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y),
    comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y)] by Th50;
    A5: xz = [comp(L_x,x,z,L_z) \/ comp(R_x,x,z,R_z),
    comp(L_x,x,z,R_z) \/ comp(R_x,x,z,L_z)] by Th50;
    A6: yz = [(L_y ++ {z})\/({y} ++ L_z), (R_y ++ {z}) \/({y} ++ R_z)]by Th28;
    A7:x*yz = [comp(L_x,x,yz,L_yz) \/ comp(R_x,x,yz,R_yz),
    comp(L_x,x,yz,R_yz) \/ comp(R_x,x,yz,L_yz)] by Th50;
    A8: xy+xz =
    [(L_xy ++ {xz})\/({xy} ++ L_xz),(R_xy ++ {xz}) \/({xy} ++ R_xz)] by Th28;
    A9:comp(L_x,x,yz,L_yz) = comp(L_x,x,yz,L_y++{z})\/comp(L_x,x,yz,{y}++L_z)
    by A6,Th60;
    A10:comp(R_x,x,yz,L_yz) = comp(R_x,x,yz,L_y++{z})\/
      comp(R_x,x,yz,{y} ++ L_z) by A6,Th60;
    A11: comp(R_x,x,yz,R_yz) = comp(R_x,x,yz,R_y ++ {z})
    \/comp(R_x,x,yz,{y} ++ R_z) by A6,Th60;
    A12: comp(L_x,x,yz,R_yz) = comp(L_x,x,yz,R_y ++ {z})
    \/comp(L_x,x,yz,{y} ++ R_z) by A6,Th60;
    A13:for X,Z be surreal-membered set st (X=L_x or X=R_x) & (Z=L_z or Z=R_z)
    holds comp(X,x,z,Z) ++{xy}  <==> comp(X,x,yz,Z ++ {y})
    proof
      let X,Z be surreal-membered set such that
      A14: (X=L_x or X=R_x) &(Z=L_z or Z=R_z);
      for o be Surreal st o in comp(X,x,z,Z) ++{xy} ex b be Surreal st
      b in comp(X,x,yz,Z ++ {y}) & o==b
      proof
        let o be Surreal;
        assume o in comp(X,x,z,Z) ++{xy};
        then consider xz1,xy1 be Surreal such that
        A15: xz1 in comp(X,x,z,Z) & xy1 in {xy} & o = xz1 + xy1 by Def8;
        consider x1,z1 be Surreal such that
        A16:xz1 = x1 * z + x*z1 - x1*z1 & x1 in X & z1 in Z by A15,Def15;
        A17:R_x<> {x} <> L_x & R_z<>{z} <> L_z by SURREALO:2;
        A18:x in {x} & y in {y} & z in {z} by TARSKI:def 1;
        born x1 (+) born y (+) born z in born x (+) born y (+) born z
        by A14,A16,A18,A17,Lm7;
        then A19: x1 * (y+z) == x1* y + x1*z by A2,A3;
        set yz1=y+z1;
        born x (+) born y (+) born z1 in born x (+) born y (+) born z
        by A14,A18,A17,Lm7,A16;
        then A20: x*(y+z1) == x*y + x*z1 by A2,A3;
        A21: born x1 (+) born y (+) born z1 in born x (+) born y (+) born z
        by A14,A18,A17,Lm7,A16;
        A22: - (x1 * z1 + x1* y) = (- (x1 * z1)) + (- (x1* y)) by Th40;
        yz1 in {y}++Z by A18,A16,Def8;
        then A23:x1 * yz + x*yz1 - x1*yz1 in comp(X,x,yz,{y}++Z)
        by A16,Def15;
        x1*z + (x*y + x*z1) = x1*z + x*z1 + x*y by Th37;
        then A24: (x1*z + (x*y + x*z1)) + (- (x1 * z1))
        = x*y + (x1*z + x*z1 + - (x1 * z1)) by Th37;
        A25:x1* y - (x1* y)==0_No by Th39;
        A26: - x1*yz1 == ((- (x1 * z1)) + (- (x1* y))) by A22,A21,A2,A3,Th65;
        x1 * yz + x*yz1 == (x1* y + x1*z) + (x*y + x*z1) by A19,A20,Th43;
        then
        A27: x1 * yz + x*yz1 + - x1*yz1 == (x1* y + x1*z) + (x*y + x*z1)
        + ((- (x1 * z1)) + (- (x1* y))) by A26,Th43;
        (x1* y + x1*z) + (x*y + x*z1) + ((- (x1 * z1)) + (- (x1* y)))
        = (x1* y + (x1*z + (x*y + x*z1))) + ((- (x1 * z1)) + (- (x1* y)))
        by Th37
        .= ((x1* y + (x1*z + (x*y + x*z1))) + (- (x1 * z1))) + - (x1* y)
        by Th37
        .= x1* y + ((x1*z + (x*y + x*z1)) + (- (x1 * z1))) + - (x1* y) by Th37
        .= x1* y + - (x1* y) + ( (x1*z + x*z1 + - (x1 * z1)) +x*y )
        by A24,Th37;
        then x1 * yz + x*yz1 + - x1*yz1 == x1* y + - (x1* y) + o == 0_No+o = o
        by A27,A16,A15,TARSKI:def 1,A25,Th43;
        hence thesis by A23,SURREALO:10;
      end;
      hence comp(X,x,z,Z) ++{xy}  <=_ comp(X,x,yz,Z ++ {y}) by Th61;
      for o be Surreal st o in comp(X,x,yz,Z ++ {y}) ex b be Surreal st
      b in comp(X,x,z,Z) ++{xy} & o==b
      proof
        let o be Surreal;
        assume o in comp(X,x,yz,Z ++ {y});
        then consider x1,yz1 be Surreal such that
        A28: o = x1 * yz + x*yz1 - x1*yz1 & x1 in X & yz1 in Z ++ {y}
        by Def15;
        consider z1,y1 be Surreal such that
        A29: z1 in Z & y1 in {y} & yz1 = z1 + y1 by A28,Def8;
        A30: y1=y by A29,TARSKI:def 1;
        A31: R_x<> {x} <> L_x & R_z<>{z} <> L_z by SURREALO:2;
        A32: x in {x} & y in {y} & z in {z} by TARSKI:def 1;
        born x1 (+) born y (+) born z in born x (+) born y (+) born z
        by A14,A32,A31,A28,Lm7;
        then A33: x1 * (y+z) == x1* y + x1*z by A2,A3;
        born x (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A14,A32,A31,Lm7,A29;
        then A34: x*yz1 == x*y + x*z1 by A2,A3,A29,A30;
        born x1 (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A14,A31,A28,Lm7,A29;
        then A35: x1*yz1 == x1*z1 + x1*y by A2,A3,A29,A30;
        A36: x1* z + x*z1  - (x1 * z1) in comp(X,x,z,Z) by A28,A29,Def15;
        xy in {xy} by TARSKI:def 1;
        then A37: (x1* z + x*z1 + - (x1 * z1))+xy in comp(X,x,z,Z) ++{xy}
        by A36,Def8;
        x1* y  - (x1* y) ==0_No by Th39;
        then A38: x1* y + - (x1* y) + ( (x1*z + x*z1 + - (x1 * z1)) +x*y )
        == 0_No + ( (x1*z + x*z1 + - (x1 * z1)) +x*y ) by Th43;
        x1*z + (x*y + x*z1) = x1*z + x*z1 + x*y by Th37;
        then A39: (x1*z + (x*y + x*z1)) + (- (x1 * z1))
        = x*y + (x1*z + x*z1 + - (x1 * z1)) by Th37;
        - x1*yz1 == - (x1*z1 + x1*y) by A35,Th10;
        then A40:- x1*yz1 == (- (x1 * z1)) + (- (x1* y)) by Th40;
        x1 * yz + x*yz1 == (x1* y + x1*z) + (x*y + x*z1)
        by A33,A34,Th43;
        then A41:o == (x1* y + x1*z) + (x*y + x*z1) +
        ((- (x1 * z1)) + (- (x1* y))) by A40,A28,Th43;
        (x1* y + x1*z) + (x*y + x*z1) + ((- (x1 * z1)) + (- (x1* y)))
        = (x1* y + (x1*z + (x*y + x*z1))) + ((- (x1 * z1)) + (- (x1* y)))
        by Th37
        .= ((x1* y + (x1*z + (x*y + x*z1))) + (- (x1 * z1))) + - (x1* y)
        by Th37
        .= x1* y + ((x1*z + (x*y + x*z1)) + (- (x1 * z1))) + - (x1* y) by Th37
        .= x1* y + -(x1* y) + ( (x1*z + x*z1 + - (x1 * z1)) +x*y)by A39,Th37;
        then o == 0_No + ((x1*z + x*z1 + - (x1 * z1)) +x*y)
        by A41,A38,SURREALO:4;
        hence thesis by A37;
      end;
      hence thesis by  Th61;
    end;
    A42:for X,Y be surreal-membered set st (X=L_x or X=R_x) & (Y=L_y or Y=R_y)
    holds comp(X,x,y,Y) ++{xz} <==> comp(X,x,yz,Y ++ {z})
    proof
      let X,Y be surreal-membered set such that
      A43: (X=L_x or X=R_x) & (Y=L_y or Y=R_y);
      for o be Surreal st o in comp(X,x,y,Y) ++{xz} ex b be Surreal st
      b in comp(X,x,yz,Y ++ {z}) & o==b
      proof
        let o be Surreal;
        assume o in comp(X,x,y,Y) ++{xz};
        then consider xy1,xz1 be Surreal such that
        A44: xy1 in comp(X,x,y,Y) & xz1 in {xz} & o = xy1 + xz1 by Def8;
        consider x1,y1 be Surreal such that
        A45:xy1 = x1 * y + x*y1 - x1*y1 & x1 in X & y1 in Y
        by A44,Def15;
        A46: xz1=xz by A44,TARSKI:def 1;
        A47: (x1* y + x1*z) + (x*y1 + x*z)=x1* y + (x1*z + (x*z + x*y1))
        by Th37
        .=x1* y + ((x1*z + x*z) + x*y1) by Th37
        .=(x1* y + x*y1) +(x1*z + x*z) by Th37;
        A48: R_x<> {x} <> L_x & R_y<>{y} <> L_y by SURREALO:2;
        A49: x in {x} & y in {y} & z in {z} by TARSKI:def 1;
        born x1 (+) born y (+) born z in born x (+) born y (+) born z
        by A43,A45,A49,A48,Lm7;
        then A50: x1 * (y+z) == x1* y + x1*z by A2,A3;
        set yz1=y1+z;
        born x (+) born y1 (+) born z in born x (+) born y (+) born z
        by A43,A49,A48,Lm7,A45;
        then A51: x*(y1+z) == x*y1 + x*z by A2,A3;
        A52: born x1 (+) born y1 (+) born z in born x (+) born y (+) born z
        by A43,A49,A48,Lm7,A45;
        x1*z - (x1* z) ==0_No by Th39;
        then A53:  x*z+(x1*z + - (x1* z)) == x*z+0_No =x *z by Th43;
        ( x*z+x1*z) + (- (x1* z)) == x*z by A53,Th37;
        then A54:( x*z+x1*z) + (- (x1* z)) +(- (x1 * y1)) == x*z +- (x1 * y1)
        by Th43;
        A55: (x1* y + x*y1) + (x*z +- (x1 * y1))
        = x1* y + (x*y1 + (- (x1 * y1)+x*z)) by Th37
        .= x1* y + ((x*y1 + - (x1 * y1))+x*z) by Th37
        .= x1* y + (x*y1 + - (x1 * y1))+x*z by Th37
        .= (x1* y + x*y1 + - (x1 * y1))+x*z by Th37;
        A56: - (x1 * y1 + x1* z) = (- (x1 * y1)) + (- (x1* z)) by Th40;
        yz1 in Y++{z} by A49,A45,Def8;
        then A57:x1 * yz + x*yz1 -x1*yz1 in comp(X,x,yz,Y++{z}) by A45,Def15;
        A58: - x1*yz1 == (- (x1* z)) +(- (x1 * y1))
        by A52,A2,A3,Th65,A56;
        x1 * yz + x*yz1 == (x1* y + x*y1) + ( x*z+x1*z) by A47,A50,A51,Th43;
        then x1 * yz + x*yz1 + - x1*yz1 ==
        (x1* y + x*y1) + ( x*z+x1*z)+((- (x1* z)) +(- (x1 * y1))) by A58,Th43;
        then x1 * yz + x*yz1 + - x1*yz1 ==
        (x1* y + x*y1) + (( x*z+x1*z) + ( (- (x1* z)) +(- (x1 * y1))))by Th37;
        then A59:x1 * yz + x*yz1 + - x1*yz1 ==
        (x1* y + x*y1) + ((( x*z+x1*z) + (- (x1* z))) +(- (x1 * y1)))by Th37;
        (x1* y + x*y1) + ((( x*z+x1*z) + (- (x1* z))) +(- (x1 * y1))) ==
        (x1* y + x*y1) + (x*z +- (x1 * y1)) by A54,Th43;
        hence thesis by A57,A44,A46,A55,A45,A59,SURREALO:10;
      end;
      hence comp(X,x,y,Y) ++{xz} <=_ comp(X,x,yz,Y ++ {z}) by Th61;
      for o be Surreal st o in comp(X,x,yz,Y ++ {z})
      ex b be Surreal st b in comp(X,x,y,Y) ++{xz} & o==b
      proof
        let o be Surreal;
        assume  o in comp(X,x,yz,Y ++ {z});
        then consider x1,yz1 be Surreal such that
        A60:o = x1 * yz + x*yz1 - x1*yz1 & x1 in X & yz1 in Y ++ {z}
        by Def15;
        consider y1,z1 be Surreal such that
        A61: y1 in Y & z1 in {z} & yz1 = y1 + z1 by A60,Def8;
        A62: z1=z by A61,TARSKI:def 1;
        A63: (x1* y + x1*z) + (x*y1 + x*z)
        =x1* y + (x1*z + (x*z + x*y1)) by Th37
        .=x1* y + ((x1*z + x*z) + x*y1) by Th37
        .=(x1* y + x*y1) +(x1*z + x*z) by Th37;
        A64: R_x<> {x} <> L_x & R_y<>{y} <> L_y by SURREALO:2;
        A65: x in {x} & y in {y} & z in {z} by TARSKI:def 1;
        born x1 (+) born y (+) born z in born x (+) born y (+) born z
        by A43,A65,A64,A60,Lm7;
        then A66: x1 * (y+z) == x1* y + x1*z by A2,A3;
        born x (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A43,A65,A64,Lm7,A61;
        then A67: x*yz1 == x*y1 + x*z by A2,A3,A61,A62;
        A68: born x1 (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A43,A64,A60,Lm7,A61;
        A69: x1*z - (x1* z) ==0_No by Th39;
        A70: x1* y + x*y1 - (x1 * y1) in comp(X,x,y,Y) by A60,A61,Def15;
        xz in {xz} by TARSKI:def 1;
        then A71: (x1* y + x*y1 + - (x1 * y1))+xz in comp(X,x,y,Y) ++{xz}
        by A70,Def8;
        A72: (x1* y + x*y1) + (x*z +- (x1 * y1))
        = x1* y + (x*y1 + (- (x1 * y1)+x*z)) by Th37
        .= x1* y + ((x*y1 + - (x1 * y1))+x*z) by Th37
        .= x1* y + (x*y1 + - (x1 * y1))+x*z by Th37
        .= (x1* y + x*y1 + - (x1 * y1))+x*z by Th37;
        A73: - (x1 * y1 + x1* z) = (- (x1 * y1)) + (- (x1* z)) by Th40;
        A74:- x1*yz1 == (- (x1* z)) +(- (x1 * y1))
        by A73,A68,A2,A3,A61,A62,Th65;
        A75: x1 * yz + x*yz1 == (x1* y + x*y1) +(x*z+x1*z)
        by A66,A67,A63,Th43;
        A76: o == (x1* y + x*y1) +(x*z+x1*z) +((- (x1* z)) +(- (x1 * y1)))
        by A60,Th43,A74,A75;
        A77: (x1* y + x*y1) +(x*z+x1*z) +((- (x1* z)) +(- (x1 * y1)))
        = (x1* y + x*y1) + (( x*z+x1*z) + ( (- (x1* y1)) +(- (x1 * z))))
        by Th37
        .=(x1* y + x*y1) + ( (( x*z+x1*z) +  - (x1* y1)) +(- (x1 * z)))
        by Th37
        .=(x1* y + x*y1) + ( (( x*z+ - (x1* y1) +x1*z )) +(- (x1 * z)))
        by Th37
        .=(x1* y + x*y1) + ( ( x*z+ - (x1* y1)) +(x1*z  +(- (x1 * z))))
        by Th37
        .= ((x1* y + x*y1 + - (x1 * y1))+x*z)+(( (x1* z)) +(- (x1 * z)))
        by A72,Th37;
        ((x1* y + x*y1 + - (x1 * y1))+x*z)+(( (x1* z)) +(- (x1 * z))) ==
        ((x1* y + x*y1 + - (x1 * y1))+x*z)+0_No by A69,Th43;
        hence thesis by A76,SURREALO:10,A71,A77;
      end;
      hence thesis by Th61;
    end;
    A78: comp(L_x,x,yz,L_y ++ {z}) <==> comp(L_x,x,y,L_y) ++{xz} by A42;
    comp(L_x,x,yz,{y} ++ L_z) <==> comp(L_x,x,z,L_z) ++{xy} by A13;
    then A79: comp(L_x,x,yz,L_yz) <==> (comp(L_x,x,y,L_y) ++{xz})
    \/(comp(L_x,x,z,L_z) ++{xy}) by A78,SURREALO:31,A9;
    A80:comp(R_x,x,yz,R_y ++ {z}) <==> comp(R_x,x,y,R_y) ++{xz} by A42;
    comp(R_x,x,yz,{y} ++ R_z) <==> comp(R_x,x,z,R_z) ++{xy} by A13;
    then A81: comp(R_x,x,yz,R_yz) <==> (comp(R_x,x,y,R_y) ++{xz})
    \/(comp(R_x,x,z,R_z) ++{xy}) by A80,SURREALO:31,A11;
    ((comp(L_x,x,y,L_y) ++{xz}) \/(comp(L_x,x,z,L_z) ++{xy})) \/
    ((comp(R_x,x,y,R_y) ++{xz})\/(comp(R_x,x,z,R_z) ++{xy})) =
    (((comp(L_x,x,y,L_y) ++{xz}) \/(comp(L_x,x,z,L_z) ++{xy})) \/
    (comp(R_x,x,z,R_z) ++{xy}))\/ (comp(R_x,x,y,R_y) ++{xz}) by XBOOLE_1:4
    .= (   (comp(L_x,x,y,L_y) ++{xz}) \/((comp(L_x,x,z,L_z) ++{xy})
    \/ (comp(R_x,x,z,R_z) ++{xy})))
    \/ (comp(R_x,x,y,R_y) ++{xz}) by XBOOLE_1:4
    .= ((comp(L_x,x,y,L_y) ++{xz}) \/ (comp(R_x,x,y,R_y) ++{xz})) \/
    ((comp(L_x,x,z,L_z) ++{xy}) \/ (comp(R_x,x,z,R_z) ++{xy})) by XBOOLE_1:4
    .= ( ( comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y)) ++{xz}) \/
    ((comp(L_x,x,z,L_z) ++{xy}) \/ (comp(R_x,x,z,R_z) ++{xy})) by Th33
    .= (xy+xz)`1 by A8,Th33,A5,A4;
    then A82: L_(x*yz) <==> L_(xy+xz) by A81,A7,A79,SURREALO:31;
    A83: comp(L_x,x,yz,R_y ++ {z}) <==> comp(L_x,x,y,R_y) ++{xz} by A42;
    comp(L_x,x,yz,{y} ++ R_z) <==> comp(L_x,x,z,R_z) ++{xy} by A13;
    then A84: comp(L_x,x,yz,R_yz) <==> (comp(L_x,x,y,R_y) ++{xz})
    \/(comp(L_x,x,z,R_z) ++{xy}) by A83,SURREALO:31,A12;
    A85:comp(R_x,x,yz,L_y ++ {z}) <==> comp(R_x,x,y,L_y) ++{xz} by A42;
    comp(R_x,x,yz,{y} ++ L_z) <==> comp(R_x,x,z,L_z) ++{xy} by A13;
    then A86:comp(R_x,x,yz,L_yz) <==> (comp(R_x,x,y,L_y) ++{xz})
    \/(comp(R_x,x,z,L_z) ++{xy})
    by A85,SURREALO:31,A10;
    A87: R_(x*yz)<==>((comp(L_x,x,y,R_y) ++{xz})\/(comp(L_x,x,z,R_z) ++{xy}))\/
     ((comp(R_x,x,y,L_y) ++{xz})\/(comp(R_x,x,z,L_z) ++{xy}))
     by A7,A84,A86,SURREALO:31;
    ((comp(L_x,x,y,R_y) ++{xz})\/(comp(L_x,x,z,R_z) ++{xy}))\/
    ((comp(R_x,x,y,L_y) ++{xz})\/(comp(R_x,x,z,L_z) ++{xy}))=
    (((comp(L_x,x,y,R_y) ++{xz})\/(comp(L_x,x,z,R_z) ++{xy}))\/
    (comp(R_x,x,z,L_z) ++{xy})) \/ (comp(R_x,x,y,L_y) ++{xz}) by XBOOLE_1:4
    .=((comp(L_x,x,y,R_y) ++{xz}) \/((comp(L_x,x,z,R_z) ++{xy})\/
    (comp(R_x,x,z,L_z) ++{xy}))) \/ (comp(R_x,x,y,L_y) ++{xz}) by XBOOLE_1:4
    .= ( (comp(L_x,x,y,R_y) ++{xz}) \/(comp(R_x,x,y,L_y) ++{xz}))
    \/ ((comp(L_x,x,z,R_z) ++{xy})\/(comp(R_x,x,z,L_z) ++{xy})) by XBOOLE_1:4
    .=((comp(L_x,x,y,R_y) \/comp(R_x,x,y,L_y)) ++{xz})
    \/ ((comp(L_x,x,z,R_z) ++{xy})\/(comp(R_x,x,z,L_z) ++{xy})) by Th33
    .= (xy+xz)`2 by Th33,A8,A4,A5;
    hence thesis by A87,A7,A8,A82,SURREALO:29;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  then P[born x (+) born y (+) born z];
  hence thesis;
end;

theorem Th68:
  for X1,X2,Y be set holds
    comp(X1\/X2,x,y,Y) = comp(X1,x,y,Y)\/comp(X2,x,y,Y)
proof
  let X1,X2,Y be set;
  comp(X1\/X2,x,y,Y) = comp(Y,y,x,X1\/X2) by Th53
  .= comp(Y,y,x,X1) \/comp(Y,y,x,X2) by Th60
  .= comp(X1,x,y,Y) \/comp(Y,y,x,X2) by Th53;
  hence thesis by Th53;
end;

::$N Associativity of Multiplication for Surreal Numbers, Conway Ch.1 Th.7(iii)
theorem
  (x*y)*z == x*(y*z)
proof
  defpred P[Ordinal] means
  for x,y,z be Surreal st born x (+) born y (+) born z c= $1 holds
  (x*y)*z == x*(y*z);
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x,y,z such that A3:born x (+) born y (+) born z c= D;
    set xy=x*y, yz=y*z;
    A4: xy = [comp(L_x,x,y,L_y) \/ comp(R_x,x,y,R_y),
    comp(L_x,x,y,R_y) \/ comp(R_x,x,y,L_y)] by Th50;
    A5: yz = [comp(L_y,y,z,L_z) \/ comp(R_y,y,z,R_z),
    comp(L_y,y,z,R_z) \/ comp(R_y,y,z,L_z)] by Th50;
    A6:x*yz = [comp(L_x,x,yz,L_yz) \/ comp(R_x,x,yz,R_yz),
    comp(L_x,x,yz,R_yz) \/ comp(R_x,x,yz,L_yz)] by Th50;
    A7:xy * z = [comp(L_xy,xy,z,L_z) \/ comp(R_xy,xy,z,R_z),
    comp(L_xy,xy,z,R_z) \/ comp(R_xy,xy,z,L_z)] by Th50;
    A8: for X,Y,Z be surreal-membered set st
    (X=L_x or X=R_x) & (Y=L_y or Y=R_y) & (Z=L_z or Z=R_z)
    holds comp(X,x,yz,comp(Y,y,z,Z)) <==> comp(comp(X,x,y,Y),xy,z,Z)
    proof
      let X,Y,Z be surreal-membered set such that
      A9: (X=L_x or X=R_x) & (Y=L_y or Y=R_y) & (Z=L_z or Z=R_z);
      for o be Surreal st o in comp(X,x,yz,comp(Y,y,z,Z))
      ex b be Surreal st b in comp(comp(X,x,y,Y),xy,z,Z) & o==b
      proof
        let o be Surreal;
        assume o in comp(X,x,yz,comp(Y,y,z,Z));
        then consider x1,yz1 be Surreal such that
        A10: o = x1*yz + x*yz1 - x1*yz1 & x1 in X & yz1 in comp(Y,y,z,Z)
        by Def15;
        consider y1,z1 be Surreal such that
        A11: yz1  = y1*z + y*z1 - y1*z1 & y1 in Y & z1 in Z by A10,Def15;
        A12:x*(y1*z + y*z1) == x*(y1*z) + x*(y*z1) by Th67;
        A13:x*(y1*z + y*z1) + (x * (- y1*z1)) ==
        (x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)) by A12,Th43;
        x*((y1*z + y*z1) + (- y1*z1)) == x*(y1*z + y*z1) + (x * (- y1*z1))
        by Th67;
        then A14:x*((y1*z + y*z1) + (- y1*z1)) ==
        (x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)) by A13,SURREALO:4;
        A15:x1*(y1*z + y*z1) == x1*(y1*z) + x1*(y*z1) by Th67;
        A16:x1*(y1*z + y*z1) + (x1 * (- y1*z1)) ==
        (x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)) by A15,Th43;
        x1*((y1*z + y*z1) + (- y1*z1)) == x1*(y1*z + y*z1) + (x1 * (- y1*z1))
        by Th67;
        then x1*((y1*z + y*z1) + (- y1*z1)) ==
        (x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)) by A16,SURREALO:4;
        then A17: -( x1*((y1*z + y*z1) + (- y1*z1))) ==
        - ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1))) by Th10;
        x1*yz + x*(y1*z + y*z1 + - y1*z1) ==
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)))
        by A14,Th43;
        then A18: o == x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)))
        +- ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1))) by A10,A11,A17,Th43;
        A19: R_x<> {x} <> L_x & R_y<>{y} <> L_y & R_z<>{z} <> L_z
        by SURREALO:2;
        A20:x in {x} & y in {y} & z in {z} by TARSKI:def 1;
        then born x1 (+) born y (+) born z in born x (+) born y (+) born z
        by A10,A9,A19,Lm7;
        then A21: x1*y*z == x1*(y*z) by A2,A3;
        born x (+) born y1 (+) born z in born x (+) born y (+) born z
        by A11,A9,A19,A20,Lm7;
        then A22: x*y1*z == x*(y1*z) by A2,A3;
        born x (+) born y (+) born z1 in born x (+) born y (+) born z
        by A11,A9,A19,A20,Lm7;
        then
        A23: x*y*z1 == x*(y*z1) by A2,A3;
        born x (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A11,A9,A19,A20,Lm7;
        then
        A24: x*y1*z1 == x*(y1*z1) by A2,A3;
        born x1 (+) born y (+) born z1 in born x (+) born y (+) born z
        by A10,A11,A9,A19,A20,Lm7;
        then
        A25: x1*y*z1 == x1*(y*z1) by A2,A3;
        born x1 (+) born y1 (+) born z in born x (+) born y (+) born z
        by A10,A11,A9,A19,A20,Lm7;
        then
        A26: x1*y1*z == x1*(y1*z) by A2,A3;
        born x1 (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A10,A11,A9,A19,Lm7;
        then
        A27: x1*y1*z1 == x1*(y1*z1) by A2,A3;
        A28: x1*yz +x*(y1*z) == x1*y*z + x*y1*z by A21,A22,Th43;
        (x * (- y1*z1)) = - (x * (y1*z1)) by Th58;
        then A29: (x * (- y1*z1)) == - (x * y1*z1) by A24,Th10;
        (- x1*y1)*z = - ((x1*y1)*z) == - (x1*(y1*z)) by A26,Th58,Th10;
        then  (x1*yz +x*(y1*z)) + (- (x1*(y1*z))) ==
        x1*y*z + x*y1*z + (- x1*y1)*z by A28,Th43;
        then  (x1*yz +x*(y1*z)) + (- (x1*(y1*z)))+ x*(y*z1)   ==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 by Th43,A23;
        then A30: (x1*yz +x*(y1*z)) + (-(x1*(y1*z)))+ x*(y*z1) + (x *(-y1*z1))
        == x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +-( x*y1*z1)
        by Th43,A29;
        x1 * (- y1*z1) = - (x1 * (y1*z1)) by Th58;
        then x1 * (- y1*z1) == - (x1 * y1*z1) by Th10,A27;
        then x1 * (- y1*z1) == (-x1 * y1)*z1 by Th58;
        then  (x1*(y*z1) + (x1 * (- y1*z1))) == (x1*y*z1 + (- x1*y1)*z1)
        by Th43,A25;
        then A31: -(x1*(y*z1) + (x1 * (- y1*z1))) == -(x1*y*z1+ (- x1*y1)*z1)
        by Th10;
        A32: (x1*yz +x*(y1*z)) + (- (x1*(y1*z))) + x*(y*z1) +
        (x * (- y1*z1)) + - ((x1*(y*z1) + (x1 * (- y1*z1))))==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +
        -( x*y1*z1)     + -(x1*y*z1+ (- x1*y1)*z1)
        by A30,A31,Th43;
        (x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)) =
        x1*(y1*z) + (x1*(y*z1) + (x1 * (- y1*z1))) by Th37;
        then A33: - ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)))  =
        - (x1*(y1*z)) + - ((x1*(y*z1) + (x1 * (- y1*z1))))
        by Th40;
        x1*y*z1 + x*y1*z1 +(- x1*y1)*z1 =
        x*y1*z1 + (x1*y*z1+ (- x1*y1)*z1) by Th37;
        then A34:-(x1*y*z1 + x*y1*z1 +   (- x1*y1)*z1) =
        -( x*y1*z1) + -(x1*y*z1+ (- x1*y1)*z1) by Th40;
        A35: x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) + (- (x1*(y1*z)))
        = x1*yz +(x*(y1*z) + (x*(y*z1) + (x * (- y1*z1)))) + (- (x1*(y1*z)))
        by Th37
        .= (x1*yz +x*(y1*z)) + (x*(y*z1) + (x * (- y1*z1))) + (- (x1*(y1*z)))
        by Th37
        .= (x1*yz +x*(y1*z)) + ((x*(y*z1) + (x * (- y1*z1))) + (- (x1*(y1*z))))
        by Th37
        .= (x1*yz +x*(y1*z)) + ((- (x1*(y1*z))) + x*(y*z1) + (x * (- y1*z1)))
        by Th37
        .= (x1*yz +x*(y1*z)) + ((- (x1*(y1*z))) + x*(y*z1)) + (x * (- y1*z1))
        by Th37
        .= (x1*yz +x*(y1*z)) + (- (x1*(y1*z))) + x*(y*z1) + (x * (- y1*z1))
        by Th37;
        A36: x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) +
        (-(x1*(y1*z)) + - ((x1*(y*z1) + (x1 * (- y1*z1)))))
        =
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) + -(x1*(y1*z))
        + - ((x1*(y*z1) + (x1 * (- y1*z1)))) by Th37;
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)))
        +- ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)))==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +
        (-(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1)) by A32,A35,A33,A34,A36,Th37;
        then A37: o == x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +
        (-(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1)) by A18,SURREALO:4;
        (x1*y + x*y1)*z == x1*y*z + x*y1*z by Th67;
        then A38:(x1*y + x*y1)*z + (- x1*y1)*z == x1*y*z + x*y1*z + (- x1*y1)*z
        by Th43;
        (x1*y + x*y1 + - x1*y1)*z == (x1*y + x*y1)*z + (- x1*y1)*z by Th67;
        then A39: (x1*y + x*y1 + - x1*y1)*z == x1*y*z + x*y1*z + (- x1*y1)*z
        by A38,SURREALO:4;
        (x1*y + x*y1)*z1 == x1*y*z1 + x*y1*z1 by Th67;
        then A40:(x1*y + x*y1)*z1 + (- x1*y1)*z1 ==
        x1*y*z1 + x*y1*z1 + (- x1*y1)*z1  by Th43;
        (x1*y + x*y1 + - x1*y1)*z1 == (x1*y + x*y1)*z1 + (- x1*y1)*z1 by Th67;
        then  (x1*y + x*y1 + - x1*y1)*z1 == x1*y*z1 + x*y1*z1 + (- x1*y1)*z1
        by A40,SURREALO:4;
        then A41: - ((x1*y + x*y1 + - x1*y1)*z1) ==
        -(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1) by Th10;
        set xy1= x1*y + x*y1 - x1*y1;
        xy1*z + xy*z1 == x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 by A39,Th43;
        then xy1*z + xy*z1 +- xy1*z1 ==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +
        (-(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1)) by Th43,A41;
        then A42:o == xy1*z + xy*z1 - xy1*z1 by A37,SURREALO:4;
        xy1 in comp(X,x,y,Y) by Def15,A10,A11;
        then xy1*z + xy*z1 - xy1*z1 in comp(comp(X,x,y,Y),xy,z,Z)by Def15,A11;
        hence thesis by A42;
      end;
      hence comp(X,x,yz,comp(Y,y,z,Z)) <=_ comp(comp(X,x,y,Y),xy,z,Z) by Th61;
      for o be Surreal st o in comp(comp(X,x,y,Y),xy,z,Z)
      ex b be Surreal st b in comp(X,x,yz,comp(Y,y,z,Z)) & o==b
      proof
        let o be Surreal;assume  o in comp(comp(X,x,y,Y),xy,z,Z);
        then consider xy1,z1 be Surreal such that
        A43: o = xy1*z + xy*z1 - xy1*z1 & xy1 in comp(X,x,y,Y) & z1 in Z
        by Def15;
        consider x1,y1 be Surreal such that
        A44: xy1  = x1*y + x*y1 - x1*y1 & x1 in X & y1 in Y by A43,Def15;
        set yz1 = y1*z + y*z1 - y1*z1;
        A45:x*(y1*z + y*z1) == x*(y1*z) + x*(y*z1) by Th67;
        A46:x*(y1*z + y*z1) + (x * (- y1*z1)) ==
        (x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)) by A45,Th43;
        x*((y1*z + y*z1) + (- y1*z1)) ==
        x*(y1*z + y*z1) + (x * (- y1*z1)) by Th67;
        then A47:x*((y1*z + y*z1) + (- y1*z1)) ==
        (x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)) by A46,SURREALO:4;
        A48:x1*(y1*z + y*z1) == x1*(y1*z) + x1*(y*z1) by Th67;
        A49:x1*(y1*z + y*z1) + (x1 * (- y1*z1)) ==
        (x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)) by A48,Th43;
        x1*((y1*z + y*z1) + (- y1*z1)) == x1*(y1*z + y*z1) + (x1 * (- y1*z1))
        by Th67;
        then x1*((y1*z + y*z1) + (- y1*z1)) ==
        (x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)) by A49,SURREALO:4;
        then A50: -( x1*((y1*z + y*z1) + (- y1*z1))) ==
        - ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1))) by Th10;
        x1*yz + x*(y1*z + y*z1 + - y1*z1) ==
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) by A47,Th43;
        then A51: x1*yz + x*yz1 + - x1*yz1 ==
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1)))
        +- ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1))) by A50,Th43;
        A52: R_x<> {x} <> L_x & R_y<>{y} <> L_y & R_z<>{z} <> L_z
        by SURREALO:2;
        A53:x in {x} & y in {y} & z in {z} by TARSKI:def 1;
        born x1 (+) born y (+) born z in born x (+) born y (+) born z
        by A44,A9,A52,A53,Lm7;
        then A54: x1*y*z == x1*(y*z) by A2,A3;
        born x (+) born y1 (+) born z in born x (+) born y (+) born z
        by A44,A9,A52,A53,Lm7;
        then A55: x*y1*z == x*(y1*z) by A2,A3;
        born x (+) born y (+) born z1 in born x (+) born y (+) born z
        by A43,A9,A52,A53,Lm7;
        then A56: x*y*z1 == x*(y*z1) by A2,A3;
        born x (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A43,A44,A9,A52,A53,Lm7;
        then
        A57: x*y1*z1 == x*(y1*z1) by A2,A3;
        born x1 (+) born y (+) born z1 in born x (+) born y (+) born z
        by A43,A44,A9,A52,A53,Lm7;
        then
        A58: x1*y*z1 == x1*(y*z1) by A2,A3;
        born x1 (+) born y1 (+) born z in born x (+) born y (+) born z
        by A44,A9,A52,A53,Lm7;
        then
        A59: x1*y1*z == x1*(y1*z) by A2,A3;
        born x1 (+) born y1 (+) born z1 in born x (+) born y (+) born z
        by A43,A44,A9,A52,Lm7;
        then
        A60: x1*y1*z1 == x1*(y1*z1) by A2,A3;
        A61: x1*yz +x*(y1*z) == x1*y*z + x*y1*z by A54,A55,Th43;
        (x * (- y1*z1)) = - (x * (y1*z1)) by Th58;
        then A62: (x * (- y1*z1)) == - (x * y1*z1) by A57,Th10;
        (- x1*y1)*z = - ((x1*y1)*z) == - (x1*(y1*z)) by A59,Th58,Th10;
        then (x1*yz +x*(y1*z)) + (- (x1*(y1*z))) ==
        x1*y*z + x*y1*z + (- x1*y1)*z by A61,Th43;
        then (x1*yz +x*(y1*z)) + (- (x1*(y1*z)))+ x*(y*z1)   ==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 by Th43,A56;
        then A63: (x1*yz +x*(y1*z)) + (- (x1*(y1*z)))+ x*(y*z1) +
        (x * (- y1*z1)) == x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +-( x*y1*z1)
        by Th43,A62;
        x1 * (- y1*z1) = - (x1 * (y1*z1)) by Th58;
        then x1 * (- y1*z1) == - (x1 * y1*z1) by Th10,A60;
        then x1 * (- y1*z1) == (-x1 * y1)*z1 by Th58;
        then  (x1*(y*z1) + (x1 * (- y1*z1))) == (x1*y*z1 + (- x1*y1)*z1)
        by Th43,A58;
        then A64: -(x1*(y*z1) + (x1 * (- y1*z1))) == -(x1*y*z1+ (- x1*y1)*z1)
        by Th10;
        (x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)) =
        x1*(y1*z) + (x1*(y*z1) + (x1 * (- y1*z1))) by Th37;
        then A65: - ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)))  =
        - (x1*(y1*z)) + - ((x1*(y*z1) + (x1 * (- y1*z1)))) by Th40;
        x1*y*z1 + x*y1*z1 + (- x1*y1)*z1 =
        x*y1*z1 + (x1*y*z1+ (- x1*y1)*z1) by Th37;
        then A66:-(x1*y*z1 + x*y1*z1 +   (- x1*y1)*z1) =
        -( x*y1*z1) + -(x1*y*z1+ (- x1*y1)*z1) by Th40;
        A67: x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) + (- (x1*(y1*z)))
        = x1*yz +(x*(y1*z) + (x*(y*z1) + (x * (- y1*z1)))) + (- (x1*(y1*z)))
        by Th37
        .= (x1*yz +x*(y1*z)) + (x*(y*z1) + (x * (- y1*z1))) + (- (x1*(y1*z)))
        by Th37
        .= (x1*yz +x*(y1*z)) + ((x*(y*z1) + (x * (- y1*z1))) + (- (x1*(y1*z))))
        by Th37
        .= (x1*yz +x*(y1*z)) + ((- (x1*(y1*z))) + x*(y*z1) + (x * (- y1*z1)))
        by Th37
        .= (x1*yz +x*(y1*z)) + ((- (x1*(y1*z))) + x*(y*z1)) + (x * (- y1*z1))
        by Th37
        .= (x1*yz +x*(y1*z)) + (- (x1*(y1*z))) + x*(y*z1) + (x * (- y1*z1))
        by Th37;
        A68: x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) + (-(x1*(y1*z)) +
        - ((x1*(y*z1) + (x1 * (- y1*z1))))) =
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) + -(x1*(y1*z))+
        - ((x1*(y*z1) + (x1 * (- y1*z1)))) by Th37;
        x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) + -(x1*(y1*z))+
        - ((x1*(y*z1) + (x1 * (- y1*z1))))==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +-( x*y1*z1)+
        -(x1*y*z1+ (- x1*y1)*z1) by A63,A64,Th43,A67;
        then x1*yz +((x*(y1*z) + x*(y*z1)) + (x * (- y1*z1))) +-
        ((x1*(y1*z) + x1*(y*z1)) + (x1 * (- y1*z1)))==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 + (-(x1*y*z1 + x*y1*z1
        + (- x1*y1)*z1)) by A65,A66,A68,Th37;
        then A69: x1*yz + x*yz1 + - x1*yz1 ==
        x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1
        + (-(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1)) by A51,SURREALO:4;
        (x1*y + x*y1)*z == x1*y*z + x*y1*z by Th67;
        then A70:(x1*y + x*y1)*z + (- x1*y1)*z == x1*y*z + x*y1*z + (- x1*y1)*z
        by Th43;
        (x1*y + x*y1 + - x1*y1)*z == (x1*y + x*y1)*z + (- x1*y1)*z by Th67;
        then A71: (x1*y + x*y1 + - x1*y1)*z == x1*y*z + x*y1*z + (- x1*y1)*z
        by A70,SURREALO:4;
        (x1*y + x*y1)*z1 == x1*y*z1 + x*y1*z1 by Th67;
        then A72:(x1*y + x*y1)*z1 + (- x1*y1)*z1 ==
        x1*y*z1 + x*y1*z1 + (- x1*y1)*z1 by Th43;
        (x1*y + x*y1 + - x1*y1)*z1 == (x1*y + x*y1)*z1 + (- x1*y1)*z1 by Th67;
        then (x1*y + x*y1 + - x1*y1)*z1 == x1*y*z1 + x*y1*z1 + (- x1*y1)*z1
        by A72,SURREALO:4;
        then A73: - ((x1*y + x*y1 + - x1*y1)*z1) ==
        -(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1) by Th10;
        xy1*z + xy*z1 == x1*y*z + x*y1*z + (-x1*y1)*z + xy*z1 by A44,A71,Th43;
        then xy1*z + xy*z1 +- xy1*z1 == x1*y*z + x*y1*z + (- x1*y1)*z + xy*z1 +
        (-(x1*y*z1 + x*y1*z1 + (- x1*y1)*z1)) by A44,Th43,A73;
        then A74:o == x1*yz + x*yz1 - x1*yz1 by A43,A69,SURREALO:4;
        yz1 in comp(Y,y,z,Z) by Def15,A43,A44;
        then x1*yz + x*yz1 - x1*yz1 in comp(X,x,yz,comp(Y,y,z,Z))
        by Def15,A44;
        hence thesis by A74;
      end;
      hence thesis by Th61;
    end;
    A75:comp(L_xy,xy,z,L_z)
    = comp(comp(L_x,x,y,L_y),xy,z,L_z)\/comp(comp(R_x,x,y,R_y),xy,z,L_z)
    by A4,Th68;
    A76: comp(R_xy,xy,z,R_z) =
    comp(comp(L_x,x,y,R_y),xy,z,R_z) \/ comp(comp(R_x,x,y,L_y),xy,z,R_z)
    by A4,Th68;
    A77: comp(L_x,x,yz,L_yz)
    = comp(L_x,x,yz,comp(L_y,y,z,L_z)) \/ comp(L_x,x,yz,comp(R_y,y,z,R_z))
    by A5,Th60;
    A78: comp(R_x,x,yz,R_yz)
    = comp(R_x,x,yz,comp(L_y,y,z,R_z)) \/ comp(R_x,x,yz,comp(R_y,y,z,L_z))
    by A5,Th60;
    A79:comp(comp(L_x,x,y,L_y),xy,z,L_z) <==> comp(L_x,x,yz,comp(L_y,y,z,L_z))
    by A8;
    A80:comp(comp(R_x,x,y,R_y),xy,z,L_z) <==> comp(R_x,x,yz,comp(R_y,y,z,L_z))
    by A8;
    A81:comp(comp(L_x,x,y,R_y),xy,z,R_z) <==> comp(L_x,x,yz,comp(R_y,y,z,R_z))
    by A8;
    A82:comp(comp(R_x,x,y,L_y),xy,z,R_z) <==> comp(R_x,x,yz,comp(L_y,y,z,R_z))
    by A8;
    A83:comp(L_xy,xy,z,L_z) <==> comp(L_x,x,yz,comp(L_y,y,z,L_z))
    \/ comp(R_x,x,yz,comp(R_y,y,z,L_z))
    by A75,A79,A80,SURREALO:31;
    A84: comp(R_xy,xy,z,R_z) <==> comp(L_x,x,yz,comp(R_y,y,z,R_z))
    \/ comp(R_x,x,yz,comp(L_y,y,z,R_z))
    by A76,A81,A82,SURREALO:31;
    A85: (comp(L_x,x,yz,comp(L_y,y,z,L_z))\/ comp(R_x,x,yz,comp(R_y,y,z,L_z)))
    \/ (comp(L_x,x,yz,comp(R_y,y,z,R_z))\/ comp(R_x,x,yz,comp(L_y,y,z,R_z)))
    = ((comp(L_x,x,yz,comp(L_y,y,z,L_z))\/ comp(R_x,x,yz,comp(R_y,y,z,L_z))) \/
    comp(L_x,x,yz,comp(R_y,y,z,R_z)) )\/ comp(R_x,x,yz,comp(L_y,y,z,R_z))
    by XBOOLE_1:4
    .= ((comp(L_x,x,yz,comp(L_y,y,z,L_z))\/ comp(L_x,x,yz,comp(R_y,y,z,R_z)))\/
    comp(R_x,x,yz,comp(R_y,y,z,L_z))) \/ comp(R_x,x,yz,comp(L_y,y,z,R_z))
    by XBOOLE_1:4
    .= (comp(L_x,x,yz,comp(L_y,y,z,L_z)) \/ comp(L_x,x,yz,comp(R_y,y,z,R_z)))\/
    (comp(R_x,x,yz,comp(L_y,y,z,R_z)) \/ comp(R_x,x,yz,comp(R_y,y,z,L_z)))
    by XBOOLE_1:4;
    A86: L_(xy * z) <==> L_(x*yz) by A6,A85,A77,A78,A84,A7,A83,
    SURREALO:31;
    A87: comp(L_x,x,yz,R_yz)=
    comp(L_x,x,yz,comp(L_y,y,z,R_z))\/comp(L_x,x,yz,comp(R_y,y,z,L_z))
    by A5,Th60;
    A88:comp(R_x,x,yz,L_yz) =
    comp(R_x,x,yz,comp(L_y,y,z,L_z)) \/comp(R_x,x,yz,comp(R_y,y,z,R_z))
    by A5,Th60;
    A89: comp(L_x,x,yz,comp(L_y,y,z,R_z)) <==>
    comp(comp(L_x,x,y,L_y),xy,z,R_z) by A8;
    A90: comp(L_x,x,yz,comp(R_y,y,z,L_z)) <==>
    comp(comp(L_x,x,y,R_y),xy,z,L_z) by A8;
    A91:comp(R_x,x,yz,comp(L_y,y,z,L_z)) <==>
    comp(comp(R_x,x,y,L_y),xy,z,L_z) by A8;
    A92:comp(R_x,x,yz,comp(R_y,y,z,R_z)) <==>
    comp(comp(R_x,x,y,R_y),xy,z,R_z) by A8;
    A93: comp(L_x,x,yz,R_yz) <==>
    comp(comp(L_x,x,y,L_y),xy,z,R_z)\/comp(comp(L_x,x,y,R_y),xy,z,L_z)
    by A87,A89,A90,SURREALO:31;
    comp(R_x,x,yz,L_yz) <==>
    comp(comp(R_x,x,y,L_y),xy,z,L_z)\/ comp(comp(R_x,x,y,R_y),xy,z,R_z)
    by A88,A91,A92,SURREALO:31;
    then
    A94: R_(x*yz) <==>
    (comp(comp(L_x,x,y,L_y),xy,z,R_z)\/comp(comp(L_x,x,y,R_y),xy,z,L_z))\/
    (comp(comp(R_x,x,y,L_y),xy,z,L_z)\/ comp(comp(R_x,x,y,R_y),xy,z,R_z))
    by A6,A93,SURREALO:31;
    A95: (comp(comp(L_x,x,y,L_y),xy,z,R_z)\/comp(comp(L_x,x,y,R_y),xy,z,L_z))\/
    (comp(comp(R_x,x,y,L_y),xy,z,L_z)\/ comp(comp(R_x,x,y,R_y),xy,z,R_z))
    =
    ((comp(comp(L_x,x,y,L_y),xy,z,R_z)\/comp(comp(L_x,x,y,R_y),xy,z,L_z))\/
    comp(comp(R_x,x,y,L_y),xy,z,L_z))\/ comp(comp(R_x,x,y,R_y),xy,z,R_z)
    by XBOOLE_1:4
    .=( comp(comp(L_x,x,y,L_y),xy,z,R_z)\/
    (comp(comp(L_x,x,y,R_y),xy,z,L_z)\/
    comp(comp(R_x,x,y,L_y),xy,z,L_z)))\/ comp(comp(R_x,x,y,R_y),xy,z,R_z)
    by XBOOLE_1:4
    .= (comp(comp(L_x,x,y,L_y),xy,z,R_z)\/comp(comp(R_x,x,y,R_y),xy,z,R_z))\/
    (comp(comp(L_x,x,y,R_y),xy,z,L_z)\/comp(comp(R_x,x,y,L_y),xy,z,L_z))
    by XBOOLE_1:4;
    A96: comp(L_xy,xy,z,R_z) =
    comp(comp(L_x,x,y,L_y),xy,z,R_z)\/comp(comp(R_x,x,y,R_y),xy,z,R_z)
    by A4,Th68;
    comp(R_xy,xy,z,L_z) =
    comp(comp(L_x,x,y,R_y),xy,z,L_z)\/comp(comp(R_x,x,y,L_y),xy,z,L_z)
    by A4,Th68;
    hence thesis by A6,A7,A86,SURREALO:29,A94,A95,A96;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  then P[born x (+) born y (+) born z];
  hence thesis;
end;

theorem Th70:
  0_No < x & y < z implies y*x < z*x
proof
  assume 0_No < x & y < z;
  then 0_No*z+x*y < 0_No*y+x*z by Th51;
  hence thesis;
end;

theorem
  x < 0_No & y < z implies z*x < y*x
proof
  assume x <0_No & y < z;
  then  x*z+0_No*y < x*y+0_No*z by Th51;
  hence thesis;
end;

Lm9:
  0_No < x & 0_No < y implies 0_No < x*y
proof
  assume 0_No < x & 0_No < y;
  then 0_No*y + x *0_No < 0_No*0_No+x*y by Th51;
  hence thesis;
end;

::$N Conway Ch.1 Th.9
theorem Th72:
  0_No < x*y iff (x < 0_No & y < 0_No) or (0_No < x & 0_No < y)
proof
  thus 0_No < x*y implies (x < 0_No & y < 0_No) or (0_No < x & 0_No < y)
  proof
    assume that A1:0_No < x*y and
    A2:not (x < 0_No & y < 0_No) & not (0_No < x & 0_No < y);
    A3:0_No <= x*y by A1;
    A4:0_No < y or y < 0_No
    proof
      assume not (0_No < y or y < 0_No);
      then 0_No==y;
      then 0_No * x == x*y by Th51;
      hence thesis by A1;
    end;
    per cases;
    suppose x==0_No;
      then 0_No * y == x*y by Th51;
      hence thesis by A1;
    end;
    suppose A5: 0_No < x;
      then -0_No < -y by A2,A4,Th10;
      then -0_No = 0_No < x*(-y)= -(x*y) by A5,Lm9,Th58;
      hence thesis by A3,Th10;
    end;
    suppose A6:x < 0_No;
      then 0_No < -x  by Th10,Th23;
      then  -0_No= 0_No < (-x)*y = -(x*y) by A6,A2,A4,Lm9,Th58;
      hence thesis by Th10,A3;
    end;
  end;
  assume (x < 0_No & y < 0_No) or (0_No < x & 0_No < y);
  then per cases;
  suppose x < 0_No & y < 0_No;
    then -0_No < -x & -0_No < -y & -0_No = 0_No by Th10;
    then 0_No < (-x)*(-y) = - (-x)*y by Lm9,Th58;
    hence thesis by Th58;
  end;
  suppose 0_No < x & 0_No < y;
    hence thesis by Lm9;
  end;
end;

theorem
  0_No < z & x*z < y*z implies x < y
proof
  assume that A1: 0_No < z and A2:x*z < y*z;
  assume y <=x;
  then per cases;
  suppose y==x;
    then y*z==x*z by Th51;
    hence thesis by A2;
  end;
  suppose y < x;
    then y*z <= x*z by A1,Th70;
    hence thesis by A2;
  end;
end;

theorem Th74:
  x*y < 0_No iff (x < 0_No & 0_No < y ) or (0_No < x & y < 0_No)
proof
  set z=-y;
  thus x*y < 0_No implies (x < 0_No & 0_No < y ) or (0_No < x & y < 0_No)
  proof
    assume x*y < 0_No;
    then 0_No < -(x*y)=x*z by Th23,Th10,Th58;
    then (x < 0_No & z < 0_No) or (0_No < x & 0_No < z) by Th72;
    hence thesis by Th23,Th10;
  end;
  assume (x < 0_No & 0_No < y ) or (0_No < x & y < 0_No);
  then (x < 0_No & z < 0_No) or (0_No < x & 0_No < z) by Th23,Th10;
  then 0_No < x*z = - (x*y) by Th72,Th58;
  hence thesis by Th23,Th10;
end;

theorem
  0_No <= x & y <= z implies y*x <= z*x
proof
  assume A1: 0_No <= x & y <= z;
  per cases;
  suppose x <= 0_No;
    then x == 0_No by A1;
    then y*x == y * 0_No = 0_No = z * 0_No == z*x by Th51;
     hence thesis by SURREALO:4;
  end;
  suppose A2: 0_No < x;
    per cases;
      suppose z <= y;
        then z==y by A1;
        then y*x == z*x by Th51;
        hence thesis;
      end;
     suppose y < z;
       hence thesis by A2,Th70;
      end;
    end;
end;

theorem
   (x+y)*(x+y) == x*x + y*y +(x*y + y*x)
proof
  x*(x+y) == x*x + x*y & y*(x+y) == y*x + y*y by Th67;
  then A1: (x+y)*(x+y) == x*(x+y) + y*(x+y) == (x*x+x*y) + (y*x + y*y)
  by Th67,Th43;
  (x*x+x*y) + (y*x + y*y) = x*x+(x*y + (y*x + y*y)) by Th37
  .= x*x+(x*y + y*x + y*y) by Th37
  .= x*x+y*y+(x*y + y*x) by Th37;
  hence thesis by A1,SURREALO:4;
end;

theorem
  x*y ==0_No iff x == 0_No or y == 0_No by Th72,Th74;