Define 'minus', too -- with no monotonicity proof.
I'm still thinking about how this should be achieved most easily. Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
parent
afe5bac2dc
commit
51accb6438
@ -78,6 +78,24 @@ plus [ 0ˢ ]ᵍ [ 0ˢ ]ᵍ = [ 0ˢ ]ᵍ
|
||||
postulate plus-Monoˡ : ∀ (s₂ : SignLattice) → Monotonic _≼ᵍ_ _≼ᵍ_ (λ s₁ → plus s₁ s₂)
|
||||
postulate plus-Monoʳ : ∀ (s₁ : SignLattice) → Monotonic _≼ᵍ_ _≼ᵍ_ (plus s₁)
|
||||
|
||||
minus : SignLattice → SignLattice → SignLattice
|
||||
minus ⊥ᵍ _ = ⊥ᵍ
|
||||
minus _ ⊥ᵍ = ⊥ᵍ
|
||||
minus ⊤ᵍ _ = ⊤ᵍ
|
||||
minus _ ⊤ᵍ = ⊤ᵍ
|
||||
minus [ + ]ᵍ [ + ]ᵍ = ⊤ᵍ
|
||||
minus [ + ]ᵍ [ - ]ᵍ = [ + ]ᵍ
|
||||
minus [ + ]ᵍ [ 0ˢ ]ᵍ = [ + ]ᵍ
|
||||
minus [ - ]ᵍ [ + ]ᵍ = [ - ]ᵍ
|
||||
minus [ - ]ᵍ [ - ]ᵍ = ⊤ᵍ
|
||||
minus [ - ]ᵍ [ 0ˢ ]ᵍ = [ - ]ᵍ
|
||||
minus [ 0ˢ ]ᵍ [ + ]ᵍ = [ - ]ᵍ
|
||||
minus [ 0ˢ ]ᵍ [ - ]ᵍ = [ + ]ᵍ
|
||||
minus [ 0ˢ ]ᵍ [ 0ˢ ]ᵍ = [ 0ˢ ]ᵍ
|
||||
|
||||
postulate minus-Monoˡ : ∀ (s₂ : SignLattice) → Monotonic _≼ᵍ_ _≼ᵍ_ (λ s₁ → minus s₁ s₂)
|
||||
postulate minus-Monoʳ : ∀ (s₁ : SignLattice) → Monotonic _≼ᵍ_ _≼ᵍ_ (minus s₁)
|
||||
|
||||
module _ (prog : Program) where
|
||||
open Program prog
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user