Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion implementations/field_of_fractions.v
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Proof.
rewrite 2!mult_1_r.
apply (is_ne_0 1).
unfold dec_recip, Frac_dec_recip.
case (decide_rel); simpl; intuition.
case (decide_rel); simpl; intuition; auto with *.
intros [xn xs] Ex.
unfold dec_recip, Frac_dec_recip.
simpl. case (decide_rel); simpl.
Expand Down
12 changes: 6 additions & 6 deletions implementations/list.v
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Section equivlistA_misc.
Proof.
split; intros E.
inversion_clear E; auto. now destruct (proj1 (InA_nil eqA x)).
rewrite E. intuition.
rewrite E. intuition; auto with *.
Qed.

Lemma equivlistA_cons_nil x l : ¬equivlistA eqA (x :: l) [].
Expand Down Expand Up @@ -81,8 +81,8 @@ Section equivlistA_misc.
Global Instance: Equivalence PermutationA.
Proof.
split.
intros l. induction l; intuition.
intros l₁ l₂. induction 1; eauto. apply permA_skip; intuition.
intros l. induction l; intuition; auto with *.
intros l₁ l₂. induction 1; eauto. apply permA_skip; intuition; auto with *.
intros ???. now apply permA_trans.
Qed.

Expand All @@ -92,7 +92,7 @@ Section equivlistA_misc.

Lemma PermutationA_app_head l₁ l₂ k :
PermutationA l₁ l₂ → PermutationA (k ++ l₁) (k ++ l₂).
Proof. intros. induction k. easy. apply permA_skip; intuition. Qed.
Proof. intros. induction k. easy. apply permA_skip; intuition; auto with *. Qed.

Global Instance PermutationA_app :
Proper (PermutationA ==> PermutationA ==> PermutationA) (@app A).
Expand Down Expand Up @@ -153,8 +153,8 @@ Section equivlistA_misc.
intros. now rewrite equivlistA_nil_eq by now symmetry.
intros l₂ Pl₂ E2.
destruct (@InA_split _ eqA l₂ x) as [l₂h [y [l₂t [E3 ?]]]].
rewrite <-E2. intuition.
subst. transitivity (y :: l₁); [intuition |].
rewrite <-E2. intuition; auto with *.
subst. transitivity (y :: l₁); [intuition; auto with * |].
apply PermutationA_cons_app, IHPl₁.
now apply NoDupA_split with y.
apply equivlistA_NoDupA_split with x y; intuition.
Expand Down
6 changes: 3 additions & 3 deletions implementations/ne_list.v
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
(** This module should be [Require]d but not [Import]ed (except for the notations submodule). *)

Require Import

Check warning on line 3 in implementations/ne_list.v

View workflow job for this annotation

GitHub Actions / build (rocq/rocq-prover:dev)

"From Coq" has been replaced by "From Stdlib".

Check warning on line 3 in implementations/ne_list.v

View workflow job for this annotation

GitHub Actions / build (rocq/rocq-prover:9.0)

"From Coq" has been replaced by "From Stdlib".
Coq.Unicode.Utf8 Coq.Lists.List Coq.Setoids.Setoid Coq.Classes.Morphisms Coq.Sorting.Permutation.

#[global]
Instance: ∀ A, Proper (@Permutation A ==> eq) (@length A).
Proof Permutation_length.

Check warning on line 8 in implementations/ne_list.v

View workflow job for this annotation

GitHub Actions / build (rocq/rocq-prover:dev)

"Proof term." is deprecated. Use "Proof. exact term. Qed." instead.

Section contents.
Context {T: Type}.
Expand Down Expand Up @@ -95,10 +95,10 @@
Definition Permutation (x y: L): Prop := ListPermutation x y.

Global Instance: Equivalence Permutation.
Proof with intuition.
Proof.
unfold Permutation.
split; repeat intro...
transitivity y...
split; repeat intro; auto with *.
transitivity y; auto with *.
Qed.

Global Instance: Proper (Permutation ==> ListPermutation) to_list.
Expand Down
2 changes: 1 addition & 1 deletion implementations/polynomials.v
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Section contents.
Proof. now destruct p. Qed.

Instance: Reflexive poly_eq.
Proof with intuition. repeat intro. induction x... split... Qed.
Proof with intuition. repeat intro. induction x; auto with *. split; auto with *. Qed.

Lemma poly_eq_cons :
∀ (a b : R) (p q : poly), (a = b /\ poly_eq p q) <-> poly_eq (a :: p) (b :: q).
Expand Down
2 changes: 1 addition & 1 deletion orders/minmax.v
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Section contents.
Instance: LeftDistribute max min.
Proof.
intros x y z. unfold min, max, sort.
repeat case (decide_rel _); simpl; try solve [intuition].
repeat case (decide_rel _); simpl; try solve [intuition; auto with *].
intros. apply (antisymmetry (≤)); [|easy]. now transitivity y; apply le_flip.
intros. now apply (antisymmetry (≤)).
Qed.
Expand Down
22 changes: 11 additions & 11 deletions theory/ua_congruence.v
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@ Section contents.
Let lifted_normal := @op_type_equiv (sorts σ) v ve.

Instance lifted_e_proper o: Proper ((=) ==> (=) ==> iff) (lifted_e o).
Proof with intuition.
Proof.
induction o; simpl. intuition.
repeat intro.
unfold respectful.
split; intros.
assert (x x1 = y x1). apply H0...
assert (x0 y1 = y0 y1). apply H1...
apply (IHo (x x1) (y x1) H4 (x0 y1) (y0 y1) H5)...
assert (x x1 = y x1). apply H0...
assert (x0 y1 = y0 y1). apply H1...
apply (IHo (x x1) (y x1) H4 (x0 y1) (y0 y1) H5)...
assert (x x1 = y x1). apply H0; auto with *.
assert (x0 y1 = y0 y1). apply H1; auto with *.
apply (IHo (x x1) (y x1) H4 (x0 y1) (y0 y1) H5); auto with *.
assert (x x1 = y x1). apply H0; auto with *.
assert (x0 y1 = y0 y1). apply H1; auto with *.
apply (IHo (x x1) (y x1) H4 (x0 y1) (y0 y1) H5); auto with *.
Qed. (* todo: clean up *)

(* With that out of the way, we show that there are two equivalent ways of stating compatibility with the
Expand Down Expand Up @@ -85,8 +85,8 @@ Section contents.
clearbody f.
induction (σ o)...
simpl in *...
apply IHo0...
apply H1...
apply IHo0; intuition; auto with *.
apply H1; auto with *.
Qed. (* todo: clean up *)

Lemma eSub_eAlgebra: eSub → eAlgebra.
Expand All @@ -110,7 +110,7 @@ Section contents.
simpl in *.
repeat intro.
unfold respectful in H0.
apply (IHo0 (λ b, f b (if b then x else y)))...
apply (IHo0 (λ b, f b (if b then x else y))); auto with *.
Qed. (* todo: clean up *)

Lemma back_and_forth: iffT eSub eAlgebra.
Expand Down Expand Up @@ -231,7 +231,7 @@ Section first_iso.
exists o1...
destruct X.
apply (@op_closed_proper σ B _ _ _ image image_proper _ (o1 z) (o1 (f _ x))).
apply H3...
apply H3; auto with *.
apply IHo0 with (o2 x)...
apply _.
Qed.
Expand Down
8 changes: 4 additions & 4 deletions theory/ua_products.v
Original file line number Diff line number Diff line change
Expand Up @@ -198,18 +198,18 @@ Section categorical.

Global Program Instance: IntroProduct c (product c) := λ H h a X i, h i a X.

Next Obligation. Proof with intuition.
Next Obligation. Proof.
repeat constructor; try apply _.
intros ?? E ?. destruct h. simpl. rewrite E...
intros ?? E ?. destruct h. simpl. rewrite E; auto with *.
intro o.
pose proof (λ i, @preserves _ _ _ _ _ _ _ _ (proj2_sig (h i)) o) as H0.
unfold product_ops, algebra_op.
set (o0 := λ i, varieties.variety_ops et (c i) o).
set (o1 := varieties.variety_ops et H o) in *.
change (∀i : I, Preservation et H (c i) (` (h i)) o1 (o0 i)) in H0.
clearbody o0 o1. revert o0 o1 H0.
induction (et o); simpl...
apply (@product_algebra et I c)...
induction (et o); simpl; auto with *.
apply (@product_algebra et I c); auto with *.
Qed.

Global Instance: Product c (product c).
Expand Down
8 changes: 4 additions & 4 deletions theory/ua_subalgebra.v
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ Section subalgebras.
end.

Global Instance op_closed_proper: ∀ `{∀ s, Proper ((=) ==> iff) (P s)} o, Proper ((=) ==> iff) (@op_closed o).
Proof with intuition.
Proof.
induction o; simpl; intros x y E.
rewrite E...
rewrite E; auto with *.
split; intros.
apply (IHo (x z))... apply E...
apply (IHo _ (y z))... apply E...
apply (IHo (x z)); auto with *. apply E; auto with *.
apply (IHo _ (y z)); auto with *. apply E; auto with *.
Qed.

Class ClosedSubset: Prop :=
Expand Down
6 changes: 3 additions & 3 deletions theory/ua_subalgebraT.v
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ Section subalgebras.
intuition.
split; intros...
apply (IHo (x z))...
apply E...
apply (IHo (y z))...
apply E; auto with *.
apply (IHo (y z)); auto with *.
symmetry.
apply E...
apply E; auto with *.
Qed.

Class ClosedSubset: Type :=
Expand Down
10 changes: 5 additions & 5 deletions theory/ua_subvariety.v
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,23 @@ Section contents.
transitivity x0...
transitivity x1...
transitivity y0...
assert (∀ u, x u = y u). intros. apply U...
assert (∀ u, x u = y u). intros. apply U; auto with *.
split; repeat intro.
apply -> (IHo (x u) (y u) (H1 u) (x0 (proj1_sig u)))...
apply K...
apply K; auto with *.
apply <- (IHo (x u) (y u) (H1 u) (x0 (proj1_sig u)))...
apply K...
apply K; auto with *.
Qed.

Lemma heq_eval vars {o} (t: T et o): heq (eval et vars t) (eval et (Pvars vars) t).
Proof with intuition.
induction t; simpl...
unfold Pvars...
unfold Pvars; auto with *.
simpl in IHt1.
generalize (IHt1 (eval et vars t3)). clear IHt1.
apply heq_proper.
pose proof (@eval_proper et (carrier P) _ _ _ nat (ne_list.cons y t1)).
apply H1; try intro...
apply H1; try intro; auto with *.
pose proof (@eval_proper et A _ _ _ nat (ne_list.cons y t1)).
apply H1...
unfold heq in IHt2. (* todo: this wasn't needed in a previous Coq version *)
Expand Down
4 changes: 2 additions & 2 deletions theory/ua_term_monad.v
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ Section contents.
geneq x y → geneq (gen_bind_aux x0 x) (gen_bind_aux y0 y))...
revert s' y H.
induction x.
destruct y... simpl in *.
destruct y; auto with *. simpl in *.
destruct a, a1. apply E'...
simpl in *. destruct y... destruct y...
simpl in *... destruct y...
simpl in *... destruct y; auto with *.
Qed.

(* return: *)
Expand Down
4 changes: 2 additions & 2 deletions varieties/closed_terms.v
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ Section contents.
do 2 rewrite eval_is_close.
do 2 rewrite <- subst_eval.
apply Q. clear Q.
induction entailment_premises; simpl...
induction entailment_premises; simpl; auto with *.
do 2 rewrite subst_eval.
do 2 rewrite <- eval_is_close...
do 2 rewrite <- eval_is_close; auto with *.
Qed.

Instance: ∀ a, Setoid_Morphism (@eval_in_other (ne_list.one a)).
Expand Down
4 changes: 2 additions & 2 deletions varieties/empty.v
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ Proof. intros []. Qed.
Instance implementation: AlgebraOps sig carriers := λ o, False_rect _ o.

Global Instance: Algebra sig _.
Proof. constructor; intuition. Qed.
Proof. constructor; intuition; auto with *. Qed.

#[global]
Instance variety: InVariety theory carriers.
Proof. constructor; intuition. Qed.
Proof. constructor; intuition; auto with *. Qed.

Definition Object := varieties.Object theory.
Definition object: Object := varieties.object theory carriers.
4 changes: 2 additions & 2 deletions varieties/setoids.v
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ Section from_instance.
Instance: AlgebraOps sig carriers := λ o, False_rect _ o.

Instance: Algebra sig carriers.
Proof. constructor; intuition. Qed.
Proof. constructor; intuition; auto with *. Qed.

Instance: InVariety theory carriers.
Proof. constructor; intuition. Qed.
Proof. constructor; intuition; auto with *. Qed.

Definition object: varieties.Object theory := varieties.object theory (λ _, A).

Expand Down
Loading