reserve L for non empty LattStr;
reserve v3,v101,v100,v102,v103,v2,v1,v0 for Element of L;

theorem QLTMod: :: Modularity for QuasiLattices
(for v0 holds v0"/\"v0 = v0) &
(for v2,v1,v0 holds (v0"/\"v1)"/\"v2 = v0"/\"(v1"/\"v2)) &
(for v1,v0 holds v0"/\"v1 = v1"/\"v0) &
(for v0,v2,v1 holds (v0"/\"(v1"\/"v2))"\/"(v0"/\"v1) = v0"/\"(v1"\/"v2)) &
(for v0 holds v0"\/"v0 = v0) &
(for v2,v1,v0 holds (v0"\/"v1)"\/"v2 = v0"\/"(v1"\/"v2)) &
(for v1,v0 holds v0"\/"v1 = v1"\/"v0) &
(for v0,v2,v1 holds (v0"\/"(v1"/\"v2))"/\"(v0"\/"v1) = v0"\/"(v1"/\"v2)) &
(for v0,v1,v2 st v0 "\/" v1 = v1 holds
 v0"\/"(v2"/\"v1) = (v0"\/"v2)"/\"v1) implies
for v1,v2,v3 holds (v1"/\"v2)"\/"(v1"/\"v3) = v1"/\"(v2"\/"(v1"/\"v3))
proof
assume A2: for v0 holds v0"/\"v0 = v0;
assume A3: for v2,v1,v0 holds (v0"/\"v1)"/\"v2 = v0"/\"(v1"/\"v2);
assume A4: for v1,v0 holds v0"/\"v1 = v1"/\"v0;
assume A5: for v0,v2,v1 holds
 (v0"/\"(v1"\/"v2))"\/"(v0"/\"v1) = v0"/\"(v1"\/"v2);
assume A6: for v0 holds v0"\/"v0 = v0;
assume A7: for v2,v1,v0 holds (v0"\/"v1)"\/"v2 = v0"\/"(v1"\/"v2);
assume A8: for v1,v0 holds v0"\/"v1 = v1"\/"v0;
assume A9: for v0,v2,v1 holds
 (v0"\/"(v1"/\"v2))"/\"(v0"\/"v1) = v0"\/"(v1"/\"v2);

A11: for v0,v2,v1 holds (v0"\/"v1)"/\"(v0"\/"(v1"/\"v2)) = v0"\/"(v1"/\"v2)
proof let v0,v2,v1;
  (v0"\/"(v1"/\"v2))"/\"(v0"\/"v1) = (v0"\/"v1)"/\"(v0"\/"(v1"/\"v2)) by A4;
  hence thesis by A9;
end;

assume A12: for v0,v1,v2 st v0 "\/" v1 = v1 holds
 v0"\/"(v2"/\"v1) = (v0"\/"v2)"/\"v1;

assume not thesis; then
consider c1,c2,c3 being Element of L such that
A14:  (c1"/\"c2)"\/"(c1"/\"c3) <> c1"/\"(c2"\/"(c1"/\"c3));

A17: for v0,v2,v1 holds (v0"/\"v1)"\/"(v0"/\"(v1"\/"v2)) = v0"/\"(v1"\/"v2)
proof let v0,v2,v1;
  (v0"/\"(v1"\/"v2))"\/"(v0"/\"v1) = (v0"/\"v1)"\/"(v0"/\"(v1"\/"v2)) by A8;
  hence thesis by A5;
end;

A20: for v102,v101 holds v101"/\"v102 = v101"/\"(v101"/\"v102)
proof let v102,v101;
  v101"/\"v101 = v101 by A2;
  hence thesis by A3;
end;

A24: for v2,v0,v1 holds (v1"/\"v0)"/\"v2 = v0"/\"(v1"/\"v2)
proof let v2,v0,v1;
  v0"/\"v1 = v1"/\"v0 by A4;
  hence thesis by A3;
end;

A27: for v0,v2,v1 holds v0"/\"(v1"/\"v2) = v1"/\"(v0"/\"v2)
proof let v0,v2,v1;
  (v0"/\"v1)"/\"v2 = v0"/\"(v1"/\"v2) by A3;
  hence thesis by A24;
end;

A30: for v102,v101 holds v101"\/"v102 = v101"\/"(v101"\/"v102)
proof let v102,v101;
  v101"\/"v101 = v101 by A6;
  hence thesis by A7;
end;

A35: for v102,v100 holds (v100"\/"v102)"\/"v102 = v100"\/"v102
proof let v102,v100;
  v102"\/"v102 = v102 by A6;
  hence thesis by A7;
end;

A38: for v1,v0 holds v1"\/"(v0"\/"v1) = v0"\/"v1
proof let v1,v0;
  (v0"\/"v1)"\/"v1 = v1"\/"(v0"\/"v1) by A8;
  hence thesis by A35;
end;

A41: for v0,v2,v1 holds (v1"\/"v0)"/\"(v0"\/"(v1"/\"v2)) = v0"\/"(v1"/\"v2)
proof let v0,v2,v1;
  v0"\/"v1 = v1"\/"v0 by A8;
  hence thesis by A11;
end;

A45: for v2,v100 holds (v100"\/"v2)"/\"v100 = v100"\/"(v2"/\"v100)
proof let v2,v100;
  v100"\/"v100 = v100 implies (v100"\/"v2)"/\"v100 = v100"\/"(v2"/\"v100)
    by A12;
  hence thesis by A6;
end;

A48: for v1,v0 holds v0"/\"(v0"\/"v1) = v0"\/"(v1"/\"v0)
proof let v1,v0;
  (v0"\/"v1)"/\"v0 = v0"/\"(v0"\/"v1) by A4;
  hence thesis by A45;
end;

A52: for v102,v1,v100 holds
 (v100"/\"v1)"\/"(v100"/\"((v100"/\"v1)"\/"v102)) =
    v100"/\"((v100"/\"v1)"\/"v102)
proof let v102,v1,v100;
  v100"/\"(v100"/\"v1) = v100"/\"v1 by A20;
  hence thesis by A17;
end;

A56: for v101,v2,v100 holds
 (v100"\/"v2)"/\"(v100"\/"v101) = v100"\/"(v2"/\"(v100"\/"v101))
proof let v101,v2,v100;
  v100"\/"(v100"\/"v101) = v100"\/"v101 implies
    (v100"\/"v2)"/\"(v100"\/"v101) = v100"\/"(v2"/\"(v100"\/"v101)) by A12;
  hence thesis by A30;
end;

A60: for v101,v2,v100 holds
 (v100"\/"v2)"/\"(v101"\/"v100) = v100"\/"(v2"/\"(v101"\/"v100))
proof let v101,v2,v100;
  v100"\/"(v101"\/"v100) = v101"\/"v100 implies
    (v100"\/"v2)"/\"(v101"\/"v100) = v100"\/"(v2"/\"(v101"\/"v100)) by A12;
  hence thesis by A38;
end;

A63: for v1,v0 holds v0"\/"(v0"/\"v1) = v0"/\"(v0"\/"v1)
proof let v1,v0;
  v1"/\"v0 = v0"/\"v1 by A4;
  hence thesis by A48;
end;

A67: for v100,v1,v101 holds
 v100"/\"(v101"\/"(v101"/\"v1)) = v101"/\"(v100"/\"(v101"\/"v1))
proof let v100,v1,v101;
  v101"/\"(v101"\/"v1) = v101"\/"(v101"/\"v1) by A63;
  hence thesis by A27;
end;

A71: for v1,v2,v0 holds v1"\/"(v0"/\"v2) = (v1"\/"(v0"/\"v2))"/\"(v0"\/"v1)
proof let v1,v2,v0;
  (v0"\/"v1)"/\"(v1"\/"(v0"/\"v2)) = v1"\/"(v0"/\"v2) by A41;
  hence thesis by A4;
end;

A74: for v0,v2,v1 holds v0"\/"(v1"/\"v2) = v0"\/"((v1"/\"v2)"/\"(v1"\/"v0))
proof let v0,v2,v1;
  (v0"\/"(v1"/\"v2))"/\"(v1"\/"v0) = v0"\/"((v1"/\"v2)"/\"(v1"\/"v0)) by A60;
  hence thesis by A71;
end;

A76: for v0,v2,v1 holds v0"\/"(v1"/\"v2) = v0"\/"(v1"/\"(v2"/\"(v1"\/"v0)))
proof let v0,v2,v1;
  (v1"/\"v2)"/\"(v1"\/"v0) = v1"/\"(v2"/\"(v1"\/"v0)) by A3;
  hence thesis by A74;
end;

A79: for v2,v0,v1 holds (v1"\/"v0)"/\"(v0"\/"v2) = v0"\/"(v1"/\"(v0"\/"v2))
proof let v2,v0,v1;
  v0"\/"v1 = v1"\/"v0 by A8;
  hence thesis by A56;
end;

A83: for v101,v2,v102 holds
 ((v102"/\"v2)"\/"v101)"/\"(v102"\/"(v102"/\"v2)) =
   (v102"/\"v2)"\/"(v102"/\"(v101"/\"(v102"\/"v2)))
proof let v101,v2,v102;
  v101"/\"(v102"\/"(v102"/\"v2)) = v102"/\"(v101"/\"(v102"\/"v2)) by A67;
  hence thesis by A60;
end;

A86: for v2,v1,v0 holds
 (v0"\/"(v0"/\"v1))"/\"((v0"/\"v1)"\/"v2) =
   (v0"/\"v1)"\/"(v0"/\"(v2"/\"(v0"\/"v1)))
proof let v2,v1,v0;
  ((v0"/\"v1)"\/"v2)"/\"(v0"\/"(v0"/\"v1)) =
    (v0"\/"(v0"/\"v1))"/\"((v0"/\"v1)"\/"v2) by A4;
  hence thesis by A83;
end;

A88: for v2,v1,v0 holds
 (v0"/\"v1)"\/"(v0"/\"((v0"/\"v1)"\/"v2)) =
   (v0"/\"v1)"\/"(v0"/\"(v2"/\"(v0"\/"v1)))
proof let v2,v1,v0;
  (v0"\/"(v0"/\"v1))"/\"((v0"/\"v1)"\/"v2) =
    (v0"/\"v1)"\/"(v0"/\"((v0"/\"v1)"\/"v2)) by A79;
  hence thesis by A86;
end;

A90: for v2,v1,v0 holds
  v0"/\"((v0"/\"v1)"\/"v2) = (v0"/\"v1)"\/"(v0"/\"(v2"/\"(v0"\/"v1)))
proof let v2,v1,v0;
  (v0"/\"v1)"\/"(v0"/\"((v0"/\"v1)"\/"v2)) = v0"/\"((v0"/\"v1)"\/"v2) by A52;
  hence thesis by A88;
end;

A94: for v102,v2,v101 holds
 (v101"/\"v2)"\/"(v101"/\"(v101"/\"(v102"/\"(v101"\/"v2)))) =
   (v101"/\"v2)"\/"(v101"/\"v102)
proof let v102,v2,v101;
  v102"/\"(v101"\/"(v101"/\"v2)) = v101"/\"(v102"/\"(v101"\/"v2)) by A67;
  hence thesis by A76;
end;

A97: for v2,v1,v0 holds
 (v0"/\"v1)"\/"(v0"/\"(v2"/\"(v0"\/"v1))) = (v0"/\"v1)"\/"(v0"/\"v2)
proof let v2,v1,v0;
  v0"/\"(v0"/\"(v2"/\"(v0"\/"v1))) = v0"/\"(v2"/\"(v0"\/"v1)) by A20;
  hence thesis by A94;
end;

A99: for v2,v1,v0 holds (v0"/\"v1)"\/"(v0"/\"v2) = v0"/\"((v0"/\"v1)"\/"v2)
proof let v2,v1,v0;
  (v0"/\"v1)"\/"(v0"/\"(v2"/\"(v0"\/"v1))) = (v0"/\"v1)"\/"(v0"/\"v2) by A97;
  hence thesis by A90;
end;

A102: for v2,v1,v0 holds v0"/\"(v2"\/"(v0"/\"v1)) = (v0"/\"v1)"\/"(v0"/\"v2)
proof let v2,v1,v0;
  (v0"/\"v1)"\/"v2 = v2"\/"(v0"/\"v1) by A8;
  hence thesis by A99;
end;

(c1"/\"c3)"\/"(c1"/\"c2) <> (c1"/\"c2)"\/"(c1"/\"c3) by A102,A14;
hence thesis by A8;
end;
