 reserve T for Ternary_Boolean_Algebra;
 reserve a,b,c,d,e for Element of T;
 reserve x,y,z for Element of T;
reserve T for Ternary_Boolean_Algebra;
reserve x for Element of T;
reserve B for Boolean Lattice;
reserve v0,v1,v2,v3,v4,v5,v6,v103,v100,v102,v104,v105,v101 for
  Element of BA2TBAA B;
reserve T for non empty TBAStruct;
reserve v0,v1,v2,v3,v4,v5,v6,u,w,v,v100,v101,v102,v103,v104 for Element of T;

theorem TBALemma: :: TBA-1
(for v4,v3,v2,v1,v0 holds
 Tern(Tern(v0,v1,v2),v3,Tern(v0,v1,v4)) = Tern(v0,v1,Tern(v2,v3,v4))) &
(for v1,v0 holds Tern(v0,v1,v1) = v1) &
(for v1,v0 holds Tern(v0,v1,v1`) = v0) &
(for v1,v0 holds Tern(v0,v0,v1) = v0) implies
 for x,y,z,u,v,v6,w being Element of T holds
  Tern(Tern(x, x`, y), (Tern(Tern(z, u, v), w, Tern(z, u, v6)))`,
  Tern(u, Tern(v6, w, v), z)) = y
proof
assume A2: for v4,v3,v2,v1,v0 holds
 Tern(Tern(v0,v1,v2),v3,Tern(v0,v1,v4)) = Tern(v0,v1,Tern(v2,v3,v4));
assume A3: for v1,v0 holds Tern(v0,v1,v1) = v1;
assume A4: for v1,v0 holds Tern(v0,v1,v1`) = v0;
assume A5: for v1,v0 holds Tern(v0,v0,v1) = v0;

A11: for v103,v104,v102,v100 holds
 Tern(v102,v103,Tern(v100,v102,v104)) = Tern(v100,v102,Tern(v102,v103,v104))
proof let v103,v104,v102,v100;
  Tern(v100,v102,v102) = v102 by A3;
  hence thesis by A2;
end;

A15: for v103,v102,v104,v100 holds
 Tern(Tern(v100,v104,v102),v103,v104) = Tern(v100,v104,Tern(v102,v103,v104))
proof let v103,v102,v104,v100;
  Tern(v100,v104,v104) = v104 by A3;
  hence thesis by A2;
end;

A19: for v103,v104,v101,v100 holds
 Tern(v100,v103,Tern(v100,v101,v104)) = Tern(v100,v101,Tern(v101`,v103,v104))
proof let v103,v104,v101,v100;
  Tern(v100,v101,v101`) = v100 by A4;
  hence thesis by A2;
end;

A25: for v103,v100,v102 holds
 Tern(v100,v103,Tern(v102,v100,v103)) = Tern(v102,v100,v103)
proof let v103,v100,v102;
  Tern(v100,v103,v103) = v103 by A3;
  hence thesis by A11;
end;

A29: for v102,v101,v100 holds
 Tern(v100,v101,v102) = Tern(v102,v100,Tern(v100,v101,v100`))
proof let v102,v101,v100;
  Tern(v102,v100,v100`) = v102 by A4;
  hence thesis by A11;
end;

A35: for v102,v100 holds Tern(v100,v100`,v102) = Tern(v102,v100,v100`)
proof let v102,v100;
  Tern(v102,v100,v100`) = v102 by A4;
  hence thesis by A25;
end;

A38: for v1,v0 holds Tern(v0,v0`,v1) = v1
proof let v1,v0;
  Tern(v1,v0,v0`) = v1 by A4;
  hence thesis by A35;
end;

A43: for v101,v103,v100 holds
 Tern(v100,v103,v101) = Tern(v100,v101,Tern(v101`,v103,v101))
proof let v101,v103,v100;
  Tern(v100,v101,v101`) = v100 by A4;
  hence thesis by A15;
end;

A49: for v101,v100 holds
 Tern(v100,v100,Tern(v100,v101,v101)) = Tern(v101`,v100,v101)
proof let v101,v100;
  Tern(v100,v101,Tern(v101`,v100,v101)) =
  Tern(v100,v100,Tern(v100,v101,v101))
    by A19;
  hence thesis by A25;
end;

A52: for v1,v0 holds Tern(v0,v0,v1) = Tern(v1`,v0,v1)
proof let v1,v0;
  Tern(v0,v1,v1) = v1 by A3;
  hence thesis by A49;
end;

A54: for v0,v1 holds v0 = Tern(v1`,v0,v1)
proof let v0,v1;
  Tern(v0,v0,v1) = v0 by A5;
  hence thesis by A52;
end;

A58: for v2,v1,v0 holds Tern(v0,v1,v2) = Tern(v0,v2,v1)
proof let v2,v1,v0;
  Tern(v1`,v2,v1) = v2 by A54;
  hence thesis by A43;
end;

A64: for v1,v0 holds Tern(v0,v1,v0`) = v1
proof let v1,v0;
  Tern(v0,v0`,v1) = Tern(v0,v1,v0`) by A58;
  hence thesis by A38;
end;

A66: for v2,v1,v0 holds Tern(v0,v1,v2) = Tern(v1,v2,v0)
proof let v2,v1,v0;
  Tern(v1,v2,v1`) = v2 by A64;
  hence thesis by A29;
end;

let x,y,z,u,v,v6,w be Element of T;

  Tern(v,w,v6) = Tern(w,v6,v) by A66
             .= Tern(w,v,v6) by A58
             .= Tern(v6,w,v) by A66; then
VV: Tern(z, u, Tern(v6, w, v)) = Tern(Tern(z, u, v), w, Tern(z, u, v6)) by A2;
    Tern(Tern(x, x`, y), (Tern(Tern(z, u, v), w, Tern(z, u, v6)))`,
        Tern(u, Tern(v6, w, v), z))
  = Tern(y, (Tern(Tern(z, u, v), w, Tern(z, u, v6)))`,
    Tern(u, Tern(v6, w, v), z)) by A38
  .= Tern(y, (
     Tern(Tern(z, u, v), w, Tern(z, u, v6)))`, Tern(z, u, Tern(v6, w, v)))
    by A66
  .= Tern(y, Tern(z, u, Tern(v6, w, v)),
    (Tern(Tern(z, u, v), w, Tern(z, u, v6)))`) by A58
  .= Tern(Tern(z, u, Tern(v6, w, v)),
   (Tern(Tern(z, u, v), w, Tern(z, u, v6))`), y) by A66
  .= y by A38,VV;
   hence thesis;
end;
