Skip to content

Commit

Permalink
Address warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
proux01 committed Feb 27, 2025
1 parent 0e6e3c9 commit 1736752
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 21 deletions.
2 changes: 1 addition & 1 deletion complete_dioid.v
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ HB.factory Record CompleteLattice_isComCompleteDioid d D
addA : associative add;
addC : commutative add;
add0d : left_id zero add;
adddd : idempotent add;
adddd : idempotent_op add;
mulA : associative mul;
mulC : commutative mul;
mul1d : left_id one mul;
Expand Down
31 changes: 19 additions & 12 deletions complete_lattice.v
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ Unset Strict Implicit.
Unset Printing Implicit Defensive.

Import Order.Theory.
(* remove below line when requireing mathcomp >= 2.4.0 *)
Local Notation le_val := Order.le_val.

Local Open Scope classical_set_scope.
Local Open Scope order_scope.
Expand Down Expand Up @@ -707,24 +709,27 @@ Let set_meetU (B : set U) := inU (opredSM B).
Lemma set_meetU_is_glb : set_f_is_glb set_meetU.
Proof.
move=> B; split.
- by move=> x Bx; rewrite leEsub SubK set_meet_lb//; exists x.
- move=> x ubx; rewrite leEsub SubK set_meet_ge_lb// => _ [y By <-].
by rewrite -leEsub ubx.
- by move=> x Bx; rewrite -le_val SubK set_meet_lb//; exists x.
- move=> x ubx; rewrite -le_val SubK set_meet_ge_lb// => _ [y By <-].
by rewrite le_val ubx.
Qed.

HB.instance Definition _ := POrder_isMeetCompleteLattice.Build d' U
set_meetU_is_glb.

Lemma val1 : (val : U -> T) \top = \top.
Proof. by rewrite SubK image_set0 set_meet0. Qed.
#[warning="-HB.no-new-instance"]
HB.instance Definition _ := Order.isTSubLattice.Build d T S d' U val1.

Lemma valI : Order.meet_morphism (val : U -> T).
Proof. by move=> x y; rewrite SubK !image_setU !image_set1 set_meet2. Qed.
#[warning="-HB.no-new-instance"]
HB.instance Definition _ := Order.isMeetSubLattice.Build d T S d' U valI.

Lemma valSM : set_meet_morphism (val : U -> T).
Proof. by move=> B; rewrite SubK. Qed.
#[warning="-HB.no-new-instance"]
HB.instance Definition _ := isMeetSubCompleteLattice.Build d T S d' U valSM.

HB.end.
Expand Down Expand Up @@ -759,16 +764,17 @@ Let set_joinU (B : set U) := inU (opredSJ B).
Lemma set_joinU_is_lub : set_f_is_lub set_joinU.
Proof.
move=> B; split.
- by move=> x Bx; rewrite leEsub SubK set_join_ub//; exists x.
- move=> x ubx; rewrite leEsub SubK set_join_le_ub// => _ [y By <-].
by rewrite -leEsub ubx.
- by move=> x Bx; rewrite -le_val SubK set_join_ub//; exists x.
- move=> x ubx; rewrite -le_val SubK set_join_le_ub// => _ [y By <-].
by rewrite le_val ubx.
Qed.

HB.instance Definition _ := POrder_isJoinCompleteLattice.Build d' U
set_joinU_is_lub.

Lemma val0 : (val : U -> T) \bot = \bot.
Proof. by rewrite SubK image_set0 set_join0. Qed.
#[warning="-HB.no-new-instance"]
HB.instance Definition _ := Order.isBSubLattice.Build d T S d' U val0.

Lemma valU : Order.join_morphism (val : U -> T).
Expand Down Expand Up @@ -816,24 +822,25 @@ Let set_joinU (B : set U) := inU (opredSJ B).
Lemma set_meetU_is_glb : set_f_is_glb set_meetU.
Proof.
move=> B; split.
- by move=> x Bx; rewrite leEsub SubK set_meet_lb//; exists x.
- move=> x lbx; rewrite leEsub SubK set_meet_ge_lb// => _ [y By <-].
by rewrite -leEsub lbx.
- by move=> x Bx; rewrite -le_val SubK set_meet_lb//; exists x.
- move=> x lbx; rewrite -le_val SubK set_meet_ge_lb// => _ [y By <-].
by rewrite le_val lbx.
Qed.

Lemma set_joinU_is_lub : set_f_is_lub set_joinU.
Proof.
move=> B; split.
- by move=> x Bx; rewrite leEsub SubK set_join_ub//; exists x.
- move=> x ubx; rewrite leEsub SubK set_join_le_ub// => _ [y By <-].
by rewrite -leEsub ubx.
- by move=> x Bx; rewrite -le_val SubK set_join_ub//; exists x.
- move=> x ubx; rewrite -le_val SubK set_join_le_ub// => _ [y By <-].
by rewrite le_val ubx.
Qed.

HB.instance Definition _ := POrder_isCompleteLattice.Build d' U
set_meetU_is_glb set_joinU_is_lub.

Lemma val0 : (val : U -> T) \bot = \bot.
Proof. by rewrite SubK image_set0 set_join0. Qed.
#[warning="-HB.no-new-instance"]
HB.instance Definition _ := Order.isBSubLattice.Build d T S d' U val0.

Lemma val1 : (val : U -> T) \top = \top.
Expand Down
16 changes: 8 additions & 8 deletions dioid.v
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Import Order.Theory GRing.Theory.

HB.mixin Record SemiRing_POrder_isDioid d D
of GRing.SemiRing D & Order.POrder d D := {
adddd : @idempotent D +%R;
adddd : @idempotent_op D +%R;
le_def : forall (a b : D), (a <= b) = (a + b == b);
}.

Expand Down Expand Up @@ -105,7 +105,7 @@ HB.factory Record POrder_isDioid d D of Order.POrder d D := {
addA : associative add;
addC : commutative add;
add0d : left_id zero add;
adddd : idempotent add;
adddd : idempotent_op add;
mulA : associative mul;
mul1d : left_id one mul;
muld1 : right_id one mul;
Expand All @@ -124,7 +124,7 @@ HB.instance Definition _ := SemiRing_POrder_isDioid.Build d D adddd le_def.
HB.end.

HB.factory Record SemiRing_isDioid (d : Order.disp_t) D of GRing.SemiRing D := {
adddd : @idempotent D +%R;
adddd : @idempotent_op D +%R;
}.

HB.builders Context d D of SemiRing_isDioid d D.
Expand Down Expand Up @@ -168,7 +168,7 @@ HB.factory Record Choice_isDioid (d : Order.disp_t) D of Choice D := {
addA : associative add;
addC : commutative add;
add0d : left_id zero add;
adddd : idempotent add;
adddd : idempotent_op add;
mulA : associative mul;
mul1d : left_id one mul;
muld1 : right_id one mul;
Expand Down Expand Up @@ -241,7 +241,7 @@ HB.factory Record POrder_isComDioid d D of Order.POrder d D := {
addA : associative add;
addC : commutative add;
add0d : left_id zero add;
adddd : idempotent add;
adddd : idempotent_op add;
mulA : associative mul;
mulC : commutative mul;
mul1d : left_id one mul;
Expand Down Expand Up @@ -277,7 +277,7 @@ HB.factory Record Choice_isComDioid (d : Order.disp_t) D of Choice D := {
addA : associative add;
addC : commutative add;
add0d : left_id zero add;
adddd : idempotent add;
adddd : idempotent_op add;
mulA : associative mul;
mulC : commutative mul;
mul1d : left_id one mul;
Expand Down Expand Up @@ -328,10 +328,10 @@ HB.factory Record SubSemiRing_SubPOrder_isSubDioid d (D : dioidType d) S d' U
of GRing.SubSemiRing D S U & @Order.SubPOrder d D S d' U := {}.

HB.builders Context d D S d' U of SubSemiRing_SubPOrder_isSubDioid d D S d' U.
Lemma adddd : @idempotent U +%R.
Lemma adddd : @idempotent_op U +%R.
Proof. by move=> x; apply: val_inj; rewrite raddfD adddd. Qed.
Lemma le_def (a b : U) : (a <= b) = (a + b == b).
Proof. by rewrite leEsub le_def -rmorphD /= (inj_eq val_inj). Qed.
Proof. by rewrite -Order.le_val le_def -rmorphD /= (inj_eq val_inj). Qed.
HB.instance Definition _ := SemiRing_POrder_isDioid.Build d' U adddd le_def.
HB.end.

Expand Down

0 comments on commit 1736752

Please sign in to comment.