Switch maps (and consequently most of the code) to using instances
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
@@ -52,7 +52,6 @@ open import Lattice.AboveBelow Sign _≡_ (record { ≈-refl = refl; ≈-sym = s
|
||||
using ()
|
||||
renaming
|
||||
( AboveBelow to SignLattice
|
||||
; ≈-Decidable to ≈ᵍ-Decidable
|
||||
; ⊥ to ⊥ᵍ
|
||||
; ⊤ to ⊤ᵍ
|
||||
; [_] to [_]ᵍ
|
||||
@@ -72,10 +71,7 @@ open AB.Plain 0ˢ using ()
|
||||
; _⊓_ to _⊓ᵍ_
|
||||
)
|
||||
|
||||
open IsLattice isLatticeᵍ using ()
|
||||
renaming
|
||||
( ≼-trans to ≼ᵍ-trans
|
||||
)
|
||||
open IsLattice isLatticeᵍ using () renaming (≼-trans to ≼ᵍ-trans)
|
||||
|
||||
plus : SignLattice → SignLattice → SignLattice
|
||||
plus ⊥ᵍ _ = ⊥ᵍ
|
||||
@@ -175,9 +171,9 @@ instance
|
||||
module WithProg (prog : Program) where
|
||||
open Program prog
|
||||
|
||||
open import Analysis.Forward.Lattices isFiniteHeightLatticeᵍ ≈ᵍ-Decidable prog
|
||||
open import Analysis.Forward.Evaluation isFiniteHeightLatticeᵍ ≈ᵍ-Decidable prog
|
||||
open import Analysis.Forward.Adapters isFiniteHeightLatticeᵍ ≈ᵍ-Decidable prog
|
||||
open import Analysis.Forward.Lattices SignLattice prog
|
||||
open import Analysis.Forward.Evaluation SignLattice prog
|
||||
open import Analysis.Forward.Adapters SignLattice prog
|
||||
|
||||
eval : ∀ (e : Expr) → VariableValues → SignLattice
|
||||
eval (e₁ + e₂) vs = plus (eval e₁ vs) (eval e₂ vs)
|
||||
@@ -233,7 +229,7 @@ module WithProg (prog : Program) where
|
||||
SignEval = record { eval = eval; eval-Monoʳ = eval-Monoʳ }
|
||||
|
||||
-- For debugging purposes, print out the result.
|
||||
output = show (Analysis.Forward.WithProg.result isFiniteHeightLatticeᵍ ≈ᵍ-Decidable prog)
|
||||
output = show (Analysis.Forward.WithProg.result SignLattice prog)
|
||||
|
||||
-- This should have fewer cases -- the same number as the actual 'plus' above.
|
||||
-- But agda only simplifies on first argument, apparently, so we are stuck
|
||||
|
||||
Reference in New Issue
Block a user