@@ -43,12 +43,11 @@ instance
4343 _ → failure "Unexpected certificate in DELEG"
4444 Computational-DELEG .completeness ⟦ pp , pools , delegatees ⟧ᵈᵉ ⟦ _ , _ , rwds ⟧ᵈ (delegate c mv mc d)
4545 s' (DELEG-delegate p) rewrite dec-yes (¿ (c ∉ dom rwds → d ≡ pp .PParams.keyDeposit)
46- × (c ∈ dom rwds → d ≡ 0 )
47- × mv ∈ mapˢ (just ∘ credVoter DRep) delegatees ∪
48- fromList ( nothing ∷ just abstainRep ∷ just noConfidenceRep ∷ [] )
49- × mc ∈ mapˢ just (dom pools) ∪ ❴ nothing ❵
46+ × (c ∈ dom rwds → d ≡ 0 )
47+ × mv ∈ mapˢ (just ∘ credVoter DRep) delegatees ∪ fromList ( nothing ∷ just abstainRep ∷ just noConfidenceRep ∷ [] )
48+ × mc ∈ mapˢ just (dom pools) ∪ ❴ nothing ❵
5049 ¿) p .proj₂ = refl
51- Computational-DELEG .completeness ⟦ _ , _ , _ ⟧ᵈᵉ ⟦ _ , _ , rwds ⟧ᵈ (dereg c d) _ (DELEG-dereg p)
50+ Computational-DELEG .completeness ⟦ _ , _ , deps ⟧ᵈᵉ ⟦ _ , _ , rwds ⟧ᵈ (dereg c d) _ (DELEG-dereg p)
5251 rewrite dec-yes (¿ (c , 0 ) ∈ rwds ¿) p .proj₂ = refl
5352 Computational-DELEG .completeness ⟦ pp , _ , _ ⟧ᵈᵉ ⟦ _ , _ , rwds ⟧ᵈ (reg c d) _ (DELEG-reg p)
5453 rewrite dec-yes (¿ c ∉ dom rwds × (d ≡ pp .PParams.keyDeposit ⊎ d ≡ 0 ) ¿) p .proj₂ = refl
@@ -65,60 +64,60 @@ instance
6564 Computational-POOL .completeness _ _ (retirepool _ _) _ POOL-retirepool = refl
6665
6766 Computational-GOVCERT : Computational _⊢_⇀⦇_,GOVCERT⦈_ String
68- Computational-GOVCERT .computeProof ⟦ _ , pp , _ , _ ⟧ᶜ ⟦ dReps , _ ⟧ᵛ (regdrep c d _) =
67+ Computational-GOVCERT .computeProof ⟦ _ , pp , _ , _ , _ ⟧ᶜ ⟦ dReps , _ ⟧ᵛ (regdrep c d _) =
6968 let open PParams pp in
7069 case ¿ (d ≡ drepDeposit × c ∉ dom dReps)
7170 ⊎ (d ≡ 0 × c ∈ dom dReps) ¿ of λ where
7271 (yes p) → success (-, GOVCERT-regdrep p)
7372 (no ¬p) → failure (genErrors ¬p)
74- Computational-GOVCERT .computeProof ⟦ _ , _ , _ , _ ⟧ᶜ ⟦ dReps , _ ⟧ᵛ (deregdrep c d ) =
75- case ¿ c ∈ dom dReps ¿ of λ where
73+ Computational-GOVCERT .computeProof _ ⟦ dReps , _ ⟧ᵛ (deregdrep c _ ) =
74+ case c ∈? dom dReps of λ where
7675 (yes p) → success (-, GOVCERT-deregdrep p)
7776 (no ¬p) → failure (genErrors ¬p)
78- Computational-GOVCERT .computeProof _ ⟦ _ , ccKeys ⟧ᵛ (ccreghot c _) =
79- case ¬? ((c , nothing) ∈? ( ccKeys ˢ)) of λ where
77+ Computational-GOVCERT .computeProof ⟦ _ , _ , _ , _ , cc ⟧ᶜ ⟦ _ , ccKeys ⟧ᵛ (ccreghot c _) =
78+ case ¿ ((c , nothing) ∉ ccKeys ˢ) × c ∈ cc ¿ of λ where
8079 (yes p) → success (-, GOVCERT-ccreghot p)
8180 (no ¬p) → failure (genErrors ¬p)
8281 Computational-GOVCERT .computeProof _ _ _ = failure "Unexpected certificate in GOVCERT"
83- Computational-GOVCERT .completeness ⟦ _ , pp , _ , _ ⟧ᶜ ⟦ dReps , _ ⟧ᵛ
82+ Computational-GOVCERT .completeness ⟦ _ , pp , _ , _ , _ ⟧ᶜ ⟦ dReps , _ ⟧ᵛ
8483 (regdrep c d _) _ (GOVCERT-regdrep p)
8584 rewrite dec-yes
8685 ¿ (let open PParams pp in
8786 (d ≡ drepDeposit × c ∉ dom dReps) ⊎ (d ≡ 0 × c ∈ dom dReps))
8887 ¿ p .proj₂ = refl
89- Computational-GOVCERT .completeness ⟦ _ , _ , _ , _ ⟧ᶜ ⟦ dReps , _ ⟧ᵛ
90- (deregdrep c d ) _ (GOVCERT-deregdrep p)
91- rewrite dec-yes (¿ c ∈ dom dReps ¿ ) p .proj₂ = refl
92- Computational-GOVCERT .completeness _ ⟦ _ , ccKeys ⟧ᵛ
93- (ccreghot c _) _ (GOVCERT-ccreghot ¬ p)
94- rewrite dec-no (( c , nothing) ∈? ( ccKeys ˢ)) ¬p = refl
88+ Computational-GOVCERT .completeness _ ⟦ dReps , _ ⟧ᵛ
89+ (deregdrep c _ ) _ (GOVCERT-deregdrep p)
90+ rewrite dec-yes (c ∈? dom dReps) p .proj₂ = refl
91+ Computational-GOVCERT .completeness ⟦ _ , _ , _ , _ , cc ⟧ᶜ ⟦ _ , ccKeys ⟧ᵛ
92+ (ccreghot c _) _ (GOVCERT-ccreghot p)
93+ rewrite dec-yes (¿ ((( c , nothing) ∉ ccKeys ˢ) × c ∈ cc) ¿) p .proj₂ = refl
9594
9695 Computational-CERT : Computational _⊢_⇀⦇_,CERT⦈_ String
97- Computational-CERT .computeProof Γ@(⟦ e , pp , vs , _ ⟧ᶜ) ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ dCert
96+ Computational-CERT .computeProof Γ@(⟦ e , pp , vs , _ , _ ⟧ᶜ) ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ dCert
9897 with computeProof ⟦ pp , PState.pools stᵖ , dom (GState.dreps stᵍ) ⟧ᵈᵉ stᵈ dCert
9998 | computeProof pp stᵖ dCert | computeProof Γ stᵍ dCert
10099 ... | success (_ , h) | _ | _ = success (-, CERT-deleg h)
101100 ... | failure _ | success (_ , h) | _ = success (-, CERT-pool h)
102101 ... | failure _ | failure _ | success (_ , h) = success (-, CERT-vdel h)
103102 ... | failure e₁ | failure e₂ | failure e₃ = failure $
104103 "DELEG: " <> e₁ <> "\nPOOL: " <> e₂ <> "\nVDEL: " <> e₃
105- Computational-CERT .completeness ⟦ _ , pp , _ , wdrls ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
104+ Computational-CERT .completeness ⟦ _ , pp , _ , wdrls , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
106105 dCert@(delegate c mv mc d) ⟦ stᵈ' , stᵖ , stᵍ ⟧ᶜˢ (CERT-deleg h)
107106 with computeProof ⟦ pp , PState.pools stᵖ , dom (GState.dreps stᵍ) ⟧ᵈᵉ stᵈ dCert | completeness _ _ _ _ h
108107 ... | success _ | refl = refl
109- Computational-CERT .completeness ⟦ _ , pp , _ , wdrls ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
108+ Computational-CERT .completeness ⟦ _ , pp , _ , wdrls , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
110109 dCert@(reg c d) ⟦ stᵈ' , stᵖ , stᵍ ⟧ᶜˢ (CERT-deleg h)
111110 with computeProof ⟦ pp , PState.pools stᵖ , dom (GState.dreps stᵍ) ⟧ᵈᵉ stᵈ dCert | completeness _ _ _ _ h
112111 ... | success _ | refl = refl
113- Computational-CERT .completeness ⟦ _ , pp , _ , wdrls ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
112+ Computational-CERT .completeness ⟦ _ , pp , _ , wdrls , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
114113 dCert@(dereg c _) ⟦ stᵈ' , stᵖ , stᵍ ⟧ᶜˢ (CERT-deleg h)
115114 with computeProof ⟦ pp , PState.pools stᵖ , dom (GState.dreps stᵍ) ⟧ᵈᵉ stᵈ dCert | completeness _ _ _ _ h
116115 ... | success _ | refl = refl
117- Computational-CERT .completeness ⟦ _ , pp , _ , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
116+ Computational-CERT .completeness ⟦ _ , pp , _ , _ , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
118117 dCert@(regpool c poolParams) ⟦ stᵈ , stᵖ' , stᵍ ⟧ᶜˢ (CERT-pool h)
119118 with computeProof pp stᵖ dCert | completeness _ _ _ _ h
120119 ... | success _ | refl = refl
121- Computational-CERT .completeness ⟦ _ , pp , _ , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
120+ Computational-CERT .completeness ⟦ _ , pp , _ , _ , _ ⟧ᶜ ⟦ stᵈ , stᵖ , stᵍ ⟧ᶜˢ
122121 dCert@(retirepool c e) ⟦ stᵈ , stᵖ' , stᵍ ⟧ᶜˢ (CERT-pool h)
123122 with completeness _ _ _ _ h
124123 ... | refl = refl
@@ -137,15 +136,15 @@ instance
137136 ... | success _ | refl = refl
138137
139138 Computational-CERTBASE : Computational _⊢_⇀⦇_,CERTBASE⦈_ String
140- Computational-CERTBASE .computeProof ⟦ e , pp , vs , wdrls ⟧ᶜ st _ =
139+ Computational-CERTBASE .computeProof ⟦ e , pp , vs , wdrls , _ ⟧ᶜ st _ =
141140 let open PParams pp; open CertState st; open GState gState; open DState dState
142141 refresh = mapPartial getDRepVote (fromList vs)
143142 refreshedDReps = mapValueRestricted (const (e + drepActivity)) dreps refresh
144143 in case ¿ filterˢ isKeyHash (mapˢ RwdAddr.stake (dom wdrls)) ⊆ dom voteDelegs
145144 × mapˢ (map₁ RwdAddr.stake) (wdrls ˢ) ⊆ rewards ˢ ¿ of λ where
146145 (yes p) → success (-, CERT-base p)
147146 (no ¬p) → failure (genErrors ¬p)
148- Computational-CERTBASE .completeness ⟦ e , pp , vs , wdrls ⟧ᶜ st _ st' (CERT-base p)
147+ Computational-CERTBASE .completeness ⟦ e , pp , vs , wdrls , _ ⟧ᶜ st _ st' (CERT-base p)
149148 rewrite let dState = CertState.dState st; open DState dState in
150149 dec-yes ¿ filterˢ isKeyHash (mapˢ RwdAddr.stake (dom wdrls)) ⊆ dom voteDelegs
151150 × mapˢ (map₁ RwdAddr.stake) (wdrls ˢ) ⊆ rewards ˢ ¿
0 commit comments