Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Generalizable VariablesK L f.(*We prove that the algebraic definition of a lattice corresponds to theorder theoretic one. Note that we do not make any of these instances global,because that would cause loops.*)Sectionjoin_semilattice_order.Context `{JoinSemiLatticeOrder L}.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ (x ⊔ y) ⊔ z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ (x ⊔ y) ⊔ z
apply join_ub_r.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ (x ⊔ y) ⊔ z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ (x ⊔ y) ⊔ z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ x ⊔ y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ⊔ y ≤ (x ⊔ y) ⊔ z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ x ⊔ y
apply join_ub_r.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ⊔ y ≤ (x ⊔ y) ⊔ z
apply join_ub_l.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ (x ⊔ y) ⊔ z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ (x ⊔ y) ⊔ z
transitivity (x ⊔ y); apply join_ub_l.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ x ⊔ (y ⊔ z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ x ⊔ (y ⊔ z)
apply join_ub_l.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ x ⊔ (y ⊔ z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ x ⊔ (y ⊔ z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ y ⊔ z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ⊔ z ≤ x ⊔ (y ⊔ z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ y ⊔ z
apply join_ub_l.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ⊔ z ≤ x ⊔ (y ⊔ z)
apply join_ub_r.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ x ⊔ (y ⊔ z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ x ⊔ (y ⊔ z)
transitivity (y ⊔ z); apply join_ub_r.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
IsJoinSemiLattice L
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
IsJoinSemiLattice L
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
IsHSet L
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
Associative sg_op
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
Commutative sg_op
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
BinaryIdempotent sg_op
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
IsHSet L
exact _.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
Associative sg_op
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op x (sg_op y z) = sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op x (sg_op y z) ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op (sg_op x y) z ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op x (sg_op y z) ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op y z ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ sg_op (sg_op x y) z
apply join_ub_3_l.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op y z ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ sg_op (sg_op x y) z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ sg_op (sg_op x y) z
apply join_ub_3_m.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ sg_op (sg_op x y) z
apply join_ub_3_r.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op (sg_op x y) z ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op x y ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
sg_op x y ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ sg_op x (sg_op y z)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
x ≤ sg_op x (sg_op y z)
apply join_ub_3_assoc_l.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
y ≤ sg_op x (sg_op y z)
apply join_ub_3_assoc_m.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y, z: L
z ≤ sg_op x (sg_op y z)
apply join_ub_3_assoc_r.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale
Commutative sg_op
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale x, y: L
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L
((x ⊓ y = x) + (x ⊓ y = y))%type
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L
((x ⊓ y = x) + (x ⊓ y = y))%type
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: x ≤ y
((x ⊓ y = x) + (x ⊓ y = y))%type
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: y ≤ x
((x ⊓ y = x) + (x ⊓ y = y))%type
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: x ≤ y
((x ⊓ y = x) + (x ⊓ y = y))%type
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: x ≤ y
x ⊓ y = x
apply meet_l,E.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: y ≤ x
((x ⊓ y = x) + (x ⊓ y = y))%type
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: y ≤ x
x ⊓ y = y
apply meet_r,E.Qed.Definitionminxy :=
match total le x y with
| inr _ => y
| inl _ => x
end.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L
x ⊓ y = min x y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L
x ⊓ y = min x y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L
x ⊓ y =
match total le x y with
| inl _ => x
| inr _ => y
end
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: x ≤ y
x ⊓ y = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: y ≤ x
x ⊓ y = y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: x ≤ y
x ⊓ y = x
apply meet_l,E.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale TotalRelation0: TotalRelation le x, y: L E: y ≤ x
x ⊓ y = y
apply meet_r,E.Qed.Endtotal_meet.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L
x ⊓ x = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L
x ⊓ x = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L
x ⊓ x ≤ x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L le1: x ⊓ x ≤ x
x ⊓ x = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L
x ⊓ x ≤ x
exact (meet_lb_l _ _).
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L le1: x ⊓ x ≤ x
x ⊓ x = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L le1: x ⊓ x ≤ x
x ≤ x ⊓ x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L le1: x ⊓ x ≤ x le2: x ≤ x ⊓ x
x ⊓ x = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L le1: x ⊓ x ≤ x
x ≤ x ⊓ x
refine (meet_glb _ _ _ _ _); applyreflexivity.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale x: L le1: x ⊓ x ≤ x le2: x ≤ x ⊓ x
x ⊓ x = x
exact (antisymmetry _ _ _ le1 le2).Qed.Endmeet_semilattice_order.Sectionlattice_order.Context `{LatticeOrder L}.Instanceisjoinsemilattice_latticeorder : IsJoinSemiLattice L := join_sl_order_join_sl.Instanceismeetsemilattice_latticeorder : IsMeetSemiLattice L := meet_sl_order_meet_sl.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale
Absorption meet join
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale
Absorption meet join
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊓ (x ⊔ y) = x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊓ (x ⊔ y) ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x ⊓ (x ⊔ y)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊓ (x ⊔ y) ≤ x
apply meet_lb_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x ⊓ (x ⊔ y)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x
applyreflexivity.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x ⊔ y
apply join_ub_l.Qed.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale
Absorption join meet
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale
Absorption join meet
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊔ (x ⊓ y) = x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊔ (x ⊓ y) ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x ⊔ (x ⊓ y)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊔ (x ⊓ y) ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊓ y ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x
applyreflexivity.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ⊓ y ≤ x
apply meet_lb_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y: L
x ≤ x ⊔ (x ⊓ y)
apply join_ub_l.Qed.Instancelattice_order_lattice: IsLattice L := {}.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
(x ⊓ y) ⊔ (x ⊓ z) ≤ x ⊓ (y ⊔ z)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
(x ⊓ y) ⊔ (x ⊓ z) ≤ x ⊓ (y ⊔ z)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
(x ⊓ y) ⊔ (x ⊓ z) ≤ x
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
(x ⊓ y) ⊔ (x ⊓ z) ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
(x ⊓ y) ⊔ (x ⊓ z) ≤ x
apply join_le; apply meet_lb_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
(x ⊓ y) ⊔ (x ⊓ z) ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ y ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ z ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ y ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ y ≤ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ y ≤ y
apply meet_lb_r.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ≤ y ⊔ z
apply join_ub_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ z ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ z ≤ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
z ≤ y ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊓ z ≤ z
apply meet_lb_r.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
z ≤ y ⊔ z
apply join_ub_r.Qed.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊔ (y ⊓ z) ≤ (x ⊔ y) ⊓ (x ⊔ z)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊔ (y ⊓ z) ≤ (x ⊔ y) ⊓ (x ⊔ z)
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊔ (y ⊓ z) ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊔ (y ⊓ z) ≤ x ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊔ (y ⊓ z) ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ≤ x ⊔ y
apply join_ub_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ≤ x ⊔ y
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ y
apply meet_lb_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ≤ x ⊔ y
apply join_ub_r.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ⊔ (y ⊓ z) ≤ x ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ≤ x ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ x ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
x ≤ x ⊔ z
apply join_ub_l.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ x ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
z ≤ x ⊔ z
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
y ⊓ z ≤ z
apply meet_lb_r.
L: Type Ale: Le L H: Meet L H0: Join L H1: LatticeOrder Ale x, y, z: L
z ≤ x ⊔ z
apply join_ub_r.Qed.Endlattice_order.Definitiondefault_join_sl_le `{IsJoinSemiLattice L} : Le L := funxy => x ⊔ y = y.Sectionjoin_sl_order_alt.Context `{IsJoinSemiLattice L} `{Le L} `{is_mere_relation L le}
(le_correct : forallxy, x ≤ y <-> x ⊔ y = y).
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
JoinSemiLatticeOrder le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
JoinSemiLatticeOrder le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
IsHSet L
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
is_mere_relation L le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
Reflexive le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
Transitive le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
AntiSymmetric le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
forallxy : L, x ≤ x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
forallxy : L, y ≤ x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
forallxyz : L, x ≤ z -> y ≤ z -> x ⊔ y ≤ z
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
IsHSet L
exact _.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
is_mere_relation L le
exact _.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
Reflexive le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x: L
x ≤ x
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x: L
x ⊔ x = x
apply binary_idempotent.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
Transitive le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y, z: L E1: x ≤ y E2: y ≤ z
x ≤ z
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y, z: L E1: x ⊔ y = y E2: y ⊔ z = z
x ⊔ z = z
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y, z: L E1: x ⊔ y = y E2: y ⊔ z = z
y ⊔ z = y ⊔ z
reflexivity.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
AntiSymmetric le
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L E1: x ≤ y E2: y ≤ x
x = y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L E1: x ⊔ y = y E2: y ⊔ x = x
x = y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L E1: x ⊔ y = y E2: y ⊔ x = x
x = y ⊔ x
applysymmetry;trivial.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
forallxy : L, x ≤ x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
x ≤ x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
x ⊔ (x ⊔ y) = x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
x ⊔ y = x ⊔ y
reflexivity.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
forallxy : L, y ≤ x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
y ⊔ (x ⊔ y) = x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
(x ⊔ y) ⊔ y = x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
x ⊔ (y ⊔ y) = x ⊔ y
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y: L
x ⊔ y = x ⊔ y
reflexivity.
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y
forallxyz : L, x ≤ z -> y ≤ z -> x ⊔ y ≤ z
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y, z: L E1: x ≤ z E2: y ≤ z
x ⊔ y ≤ z
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y, z: L E1: x ⊔ z = z E2: y ⊔ z = z
(x ⊔ y) ⊔ z = z
L: Type Ajoin: Join L H: IsJoinSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊔ y = y x, y, z: L E1: x ⊔ z = z E2: y ⊔ z = z
x ⊔ z = z
trivial.Qed.Endjoin_sl_order_alt.Definitiondefault_meet_sl_le `{IsMeetSemiLattice L} : Le L := funxy => x ⊓ y = x.Sectionmeet_sl_order_alt.Context `{IsMeetSemiLattice L} `{Le L} `{is_mere_relation L le}
(le_correct : forallxy, x ≤ y <-> x ⊓ y = x).
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
MeetSemiLatticeOrder le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
MeetSemiLatticeOrder le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
IsHSet L
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
is_mere_relation L le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
Reflexive le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
Transitive le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
AntiSymmetric le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
forallxy : L, x ⊓ y ≤ x
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
forallxy : L, x ⊓ y ≤ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
forallxyz : L, z ≤ x -> z ≤ y -> z ≤ x ⊓ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
IsHSet L
exact _.
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
is_mere_relation L le
exact _.
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
Reflexive le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x: L
x ≤ x
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x: L
x ⊓ x = x
exact (idempotency _ _).
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
Transitive le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y, z: L E1: x ≤ y E2: y ≤ z
x ≤ z
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y, z: L E1: x ⊓ y = x E2: y ⊓ z = y
x ⊓ z = x
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y, z: L E1: x ⊓ y = x E2: y ⊓ z = y
x ⊓ y = x ⊓ y
reflexivity.
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
AntiSymmetric le
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L E1: x ≤ y E2: y ≤ x
x = y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L E1: x ⊓ y = x E2: y ⊓ x = y
x = y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L E1: x ⊓ y = x E2: y ⊓ x = y
x = x ⊓ y
applysymmetry,E1.
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
forallxy : L, x ⊓ y ≤ x
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L
x ⊓ y ≤ x
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L
(x ⊓ y) ⊓ x = x ⊓ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L
x ⊓ y = x ⊓ y
reflexivity.
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
forallxy : L, x ⊓ y ≤ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L
x ⊓ y ≤ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L
(x ⊓ y) ⊓ y = x ⊓ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y: L
x ⊓ y = x ⊓ y
reflexivity.
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x
forallxyz : L, z ≤ x -> z ≤ y -> z ≤ x ⊓ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y, z: L E1: z ≤ x E2: z ≤ y
z ≤ x ⊓ y
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y, z: L E1: z ⊓ x = z E2: z ⊓ y = z
z ⊓ (x ⊓ y) = z
L: Type Ameet: Meet L H: IsMeetSemiLattice L H0: Le L is_mere_relation0: is_mere_relation L le le_correct: forallxy : L, x ≤ y <-> x ⊓ y = x x, y, z: L E1: z ⊓ x = z E2: z ⊓ y = z
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f
OrderPreserving f
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f
OrderPreserving f
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f x, y: L E: x ≤ y
f x ≤ f y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f x, y: L E: x ⊔ y = y
f x ≤ f y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f x, y: L E: x ⊔ y = y
f x ⊔ f y = f y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f x, y: L E: x ⊔ y = y
f (x ⊔ y) = f y
apply ap, E.Qed.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f
OrderReflecting f
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f
OrderReflecting f
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f x, y: L E: f x ≤ f y
x ≤ y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f x, y: L E: f x ⊔ f y = f y
x ≤ y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f x, y: L E: f x ⊔ f y = f y
x ⊔ y = y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f x, y: L E: f (x ⊔ y) = f y
x ⊔ y = y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 f: L -> K IsJoinPreserving0: IsJoinPreserving f IsInjective0: IsInjective f x, y: L E: f (x ⊔ y) = f y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f
OrderPreserving f
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f
OrderPreserving f
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f x, y: L E: x ≤ y
f x ≤ f y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f x, y: L E: x ⊓ y = x
f x ≤ f y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f x, y: L E: x ⊓ y = x
f x ⊓ f y = f x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f x, y: L E: x ⊓ y = x
f (x ⊓ y) = f x
apply ap, E.Qed.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f
OrderReflecting f
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f
OrderReflecting f
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f x, y: L E: f x ≤ f y
x ≤ y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f x, y: L E: f x ⊓ f y = f x
x ≤ y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f x, y: L E: f x ⊓ f y = f x
x ⊓ y = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f x, y: L E: f (x ⊓ y) = f x
x ⊓ y = x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 f: L -> K IsMeetPreserving0: IsMeetPreserving f IsInjective0: IsInjective f x, y: L E: f (x ⊓ y) = f x
f (x ⊓ y) = f x
assumption.Qed.Endmeet_order_preserving.Sectionorder_preserving_join_sl_mor.Context `{JoinSemiLatticeOrder L} `{JoinSemiLatticeOrder K}
`{!TotalOrder (_ : Le L)} `{!TotalOrder (_ : Le K)}
`{!OrderPreserving (f : L -> K)}.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K)
IsJoinPreserving f
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K)
IsJoinPreserving f
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f (x ⊔ y) = f x ⊔ f y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f x ≤ f y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
x ≤ y
trivial.
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f (x ⊔ y) = f x ⊔ f y
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f y ≤ f x
L: Type Ale: Le L H: Join L H0: JoinSemiLatticeOrder Ale K: Type Ale0: Le K H1: Join K H2: JoinSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
y ≤ x
trivial.Qed.Endorder_preserving_join_sl_mor.Sectionorder_preserving_meet_sl_mor.Context `{MeetSemiLatticeOrder L} `{MeetSemiLatticeOrder K}
`{!TotalOrder (_ : Le L)} `{!TotalOrder (_ : Le K)}
`{!OrderPreserving (f : L -> K)}.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K)
IsSemiGroupPreserving f
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K)
IsSemiGroupPreserving f
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f (x ⊓ y) = f x ⊓ f y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
f x ≤ f y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: x ≤ y
x ≤ y
trivial.
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f (sg_op x y) = sg_op (f x) (f y)
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f (x ⊓ y) = f x ⊓ f y
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
f y ≤ f x
L: Type Ale: Le L H: Meet L H0: MeetSemiLatticeOrder Ale K: Type Ale0: Le K H1: Meet K H2: MeetSemiLatticeOrder Ale0 TotalOrder0: TotalOrder (Ale : Le L) TotalOrder1: TotalOrder (Ale0 : Le K) f: L -> K OrderPreserving0: OrderPreserving (f : L -> K) x, y: L E: y ≤ x
y ≤ x
trivial.Qed.Endorder_preserving_meet_sl_mor.Sectionstrict_ordered_field.Generalizable VariablesLle Llt Lmeet Ljoin Lapart.Context `{@LatticeOrder L Lle Lmeet Ljoin}.Context `{@FullPseudoOrder L Lapart Lle Llt}.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
z < x -> z < x ⊔ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
z < x -> z < x ⊔ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltzx: z < x
z < x ⊔ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltzx: z < x
x ≤ x ⊔ y
apply join_ub_l.Qed.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
z < y -> z < x ⊔ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
z < y -> z < x ⊔ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltzy: z < y
z < x ⊔ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltzy: z < y
y ≤ x ⊔ y
apply join_ub_r.Qed.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
x < z -> y < z -> x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
x < z -> y < z -> x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z)
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxyz: x ⊔ y < z
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z)
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltxyz: x ⊔ y < z
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y
x ⊔ y <> x
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y
x ⊔ y <> x
apply lt_ne_flip; assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x)
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x)
x ≤ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x)
x ≤ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x)
~ (y < x)
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) ltyx: y < x
Empty
exact (nleyx (lt_le _ _ _)).
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y
x ⊔ y <> y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y
x ⊔ y <> y
apply lt_ne_flip; assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y)
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y)
y ≤ x
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y) leyx: y ≤ x
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y)
y ≤ x
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y)
~ (x < y)
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y) ltxy: x < y
Empty
exact (nlexy (lt_le _ _ _)).
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y) leyx: y ≤ x
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ y <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y) leyx: y ≤ x eqxy: x = y
x ⊔ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltyxy: y < x ⊔ y ineqx: x ⊔ x <> x nleyx: ~ (y ≤ x) lexy: x ≤ y ineqy: x ⊔ y <> y nlexy: ~ (x ≤ y) leyx: y ≤ x eqxy: x = y
x ⊔ y < z
destruct (ineqx (join_idempotent x)).
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxxy: x < x ⊔ y disj':= cotransitive ltyz (x ⊔ y): hor (y < x ⊔ y) (x ⊔ y < z) ltxyz: x ⊔ y < z
x ⊔ y < z
assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z ltyz: y < z disj:= cotransitive ltxz (x ⊔ y): hor (x < x ⊔ y) (x ⊔ y < z) ltxyz: x ⊔ y < z
x ⊔ y < z
assumption.Qed.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
x < z -> x ⊓ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
x < z -> x ⊓ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z
x ⊓ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxz: x < z
x ⊓ y ≤ x
apply meet_lb_l.Qed.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
y < z -> x ⊓ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
y < z -> x ⊓ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltyz: y < z
x ⊓ y < z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltyz: y < z
x ⊓ y ≤ y
apply meet_lb_r.Qed.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
x < y -> x < z -> x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L
x < y -> x < z -> x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y)
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltxyy: x < y ⊓ z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltxyy: x < y ⊓ z
x < y ⊓ z
assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z)
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltxyz: x < y ⊓ z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltxyz: x < y ⊓ z
x < y ⊓ z
assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z
y ⊓ z <> y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z
y ⊓ z <> y
apply lt_ne; assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z)
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z)
z ≤ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z)
z ≤ y
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z)
~ (y < z)
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) ltzy: y < z
Empty
exact (nleyz (lt_le _ _ _)).
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y
y ⊓ z <> z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y
y ⊓ z <> z
apply lt_ne; assumption.
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y)
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y)
y ≤ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y) leyz: y ≤ z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y)
y ≤ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y)
~ (z < y)
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y) ltzy: z < y
Empty
exact (nlezy (lt_le _ _ _)).
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y) leyz: y ≤ z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ z <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y) leyz: y ≤ z eqyz: y = z
x < y ⊓ z
L: Type Lle: Le L Lmeet: Meet L Ljoin: Join L H: LatticeOrder Lle Lapart: Apart L Llt: Lt L H0: FullPseudoOrder Lle Llt x, y, z: L ltxy: x < y ltxz: x < z disj:= cotransitive ltxy (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < y) ltyzy: y ⊓ z < y disj':= cotransitive ltxz (y ⊓ z): hor (x < y ⊓ z) (y ⊓ z < z) ltyzz: y ⊓ z < z ineqy: y ⊓ y <> y nleyz: ~ (y ≤ z) lezy: z ≤ y ineqz: y ⊓ z <> z nlezy: ~ (z ≤ y) leyz: y ≤ z eqyz: y = z