Q_sum_eq_join_meet@{} : forall a b c d : Q, a + b = c + d -> a + b = join a c + meet b d. Proof. intros ???? E. destruct (total le a c) as [E1|E1]. - rewrite (join_r _ _ E1). rewrite meet_r;trivial. apply (order_preserving (+ b)) in E1. rewrite E in E1. apply (order_reflecting (c +)). trivial. - rewrite (join_l _ _ E1). rewrite meet_l;trivial. apply (order_reflecting (a +)). rewrite E. apply (order_preserving (+ d)). trivial. Qed.
Require Import Import Quoting.Instances. Import NatPair.Instances.