File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change 1+ module GpdCont.Groups.Solve where
2+
3+ open import Agda.Builtin.Reflection using (Term ; TC)
4+
5+ open import Cubical.Foundations.Prelude
6+ open import Cubical.Foundations.Structure
7+ open import Cubical.Data.Nat.Base
8+ open import Cubical.Algebra.Group.Base
9+ open import Cubical.Tactics.MonoidSolver.MonoidExpression using (Expr)
10+ open import Cubical.Tactics.MonoidSolver.Solver using (module Eval ) renaming (solve to naiveSolveMonoid)
11+ open import Cubical.Tactics.MonoidSolver.Reflection using (solveMonoid ; module ReflectionSolver )
12+
13+ module _ {ℓ} (G : Group ℓ) where
14+ private
15+ M = Group→Monoid G
16+
17+ naiveSolveGroup : ∀ {n : ℕ} (e₁ e₂ : Expr ⟨ M ⟩ n) → (v : Eval.Env M n)
18+ → (p : Eval.eval M (Eval.normalize M e₁) v ≡ Eval.eval M (Eval.normalize M e₂) v)
19+ → Eval.⟦ M ⟧ e₁ v ≡ Eval.⟦ M ⟧ e₂ v
20+ naiveSolveGroup = naiveSolveMonoid M
21+
22+ macro
23+ solveGroup : Term → Term → TC Unit
24+ solveGroup = ReflectionSolver.solve-macro (quote GroupStr._·_) (quote GroupStr.1g) (quote naiveSolveGroup)
You can’t perform that action at this time.
0 commit comments