[WIP] Make linear subspaces canonically a tbLatticeType#653
Conversation
| Lemma memv_cap w U V : (w \in U :&: V)%VS = (w \in U) && (w \in V). | ||
| Proof. by rewrite !memvE subv_cap. Qed. | ||
| Proof. by rewrite !memvE lexI. Qed. |
There was a problem hiding this comment.
If _ \in _ for linear subspaces is defined by using Order.le as in intervals, this proof can probably be exact: lexI. (I think it requires some more work.)
math-comp/mathcomp/algebra/interval.v
Lines 493 to 494 in 0606b6b
5531642 to
4c5ea49
Compare
5081207 to
a1a81b0
Compare
a1a81b0 to
4c84e91
Compare
Redefining math-comp/mathcomp/ssreflect/bigop.v Lines 349 to 354 in ee410eb (* We have to swap its parameter (multiplication) and the first projection *)
(* (addition) so that its canonical instances can be indexed by constants of *)
(* multiplication rather than addition. *)
Structure mul_distr_law (add : T -> T -> T) := MulDistrLaw {
mul_distr_operator : T -> T -> T;
(* The following two axioms are part of `mul_law`. A telescope cannot be used here anymore. *)
_ : left_zero idm mul_distr_operator;
_ : right_zero idm mul_distr_operator;
_ : left_distributive mul_distr_operator add;
_ : right_distributive mul_distr_operator add
}. |
4c84e91 to
f4cfa69
Compare
f4cfa69 to
8ea603d
Compare
I self answer this: |
998316f to
ab67780
Compare
454f3c9 to
4cf43a0
Compare
025cec5 to
867f0ac
Compare
867f0ac to
3816be5
Compare
3816be5 to
4f73910
Compare
Motivation for this change
This is my first attempt to make linear subspaces
{vspace vT}canonically atbLatticeType. Invector.v, some operators for linear subspace (subsetv,fullv,addv, andcapv) have been redefined as notations for order operators. The first obstacle is thatfalgebra.vdoes not compile since bothprodvandcapv(Order.meet) distributes overaddv(Order.join) and soaddv_addoid(infalgebra.v) is now redundant withjoin_addoid(inorder.v).Closes #613
Things done/to do
CHANGELOG_UNRELEASED.md(do not edit former entries)Automatic note to reviewers
Read this Checklist and make sure there is a milestone.