@@ -18,12 +18,11 @@ open import Data.Fin.Base as Fin
18
18
open import Data.Fin.Patterns using (0F)
19
19
open import Data.Fin.Properties as Fin
20
20
using (toℕ<n; toℕ-fromℕ; toℕ-inject₁)
21
- open import Data.Fin.Relation.Unary.TopBinomial
22
- using (view; top; inj ; view-inj ; view-top )
21
+ open import Data.Fin.Relation.Unary.Top
22
+ using (view; ‵fromℕ; ‵inject₁ ; view-fromℕ ; view-inject₁ )
23
23
open import Function.Base using (_∘_)
24
- open import Relation.Binary.PropositionalEquality.Core
24
+ open import Relation.Binary.PropositionalEquality.Core as ≡
25
25
using (_≡_; _≢_; cong; module ≡-Reasoning )
26
- renaming (refl to ≡-refl)
27
26
28
27
module Algebra.Properties.Semiring.Binomial {a ℓ} (S : Semiring a ℓ) where
29
28
@@ -71,8 +70,8 @@ module _ (x y : Carrier) where
71
70
72
71
term₂ : (i : Fin (suc (suc n))) → Carrier
73
72
term₂ i with view i
74
- ... | top = 0#
75
- ... | inj j = y * term j
73
+ ... | ‵fromℕ = 0#
74
+ ... | ‵inject₁ j = y * term j
76
75
77
76
sum₂ : Carrier
78
77
sum₂ = ∑[ i ≤ suc n ] term₂ i
@@ -105,23 +104,23 @@ module _ (x y : Carrier) where
105
104
∑[ i ≤ n ] (y * term i)
106
105
≈˘⟨ +-identityʳ _ ⟩
107
106
∑[ i ≤ n ] (y * term i) + 0#
108
- ≈⟨ +-cong (sum-cong-≋ lemma₂-inj ) lemma₂-top ⟩
109
- (∑[ i ≤ n ] term₂-inj i) + term₂ [n+1]
107
+ ≈⟨ +-cong (sum-cong-≋ lemma₂-inject₁ ) lemma₂-fromℕ ⟩
108
+ (∑[ i ≤ n ] term₂-inject₁ i) + term₂ [n+1]
110
109
≈˘⟨ sum-init-last term₂ ⟩
111
110
sum term₂
112
111
≡⟨⟩
113
112
sum₂ ∎
114
113
where
115
114
[n+1] = fromℕ (suc n)
116
115
117
- lemma₂-top : 0# ≈ term₂ [n+1]
118
- lemma₂-top rewrite view-top (suc n) = refl
116
+ lemma₂-fromℕ : 0# ≈ term₂ [n+1]
117
+ lemma₂-fromℕ rewrite view-fromℕ (suc n) = refl
119
118
120
- term₂-inj : (i : Fin (suc n)) → Carrier
121
- term₂-inj i = term₂ (inject₁ i)
119
+ term₂-inject₁ : (i : Fin (suc n)) → Carrier
120
+ term₂-inject₁ i = term₂ (inject₁ i)
122
121
123
- lemma₂-inj : ∀ i → y * term i ≈ term₂-inj i
124
- lemma₂-inj i rewrite view-inj i = refl
122
+ lemma₂-inject₁ : ∀ i → y * term i ≈ term₂-inject₁ i
123
+ lemma₂-inject₁ i rewrite view-inject₁ i = refl
125
124
126
125
------------------------------------------------------------------------
127
126
-- Next, a lemma which is independent of commutativity
@@ -211,7 +210,7 @@ module _ (x y : Carrier) where
211
210
private
212
211
213
212
n<ᵇ1+n : (n Nat.<ᵇ suc n) ≡ true
214
- n<ᵇ1+n with true ← n Nat.<ᵇ suc n | _ ← <⇒<ᵇ (n<1+n n) = ≡- refl
213
+ n<ᵇ1+n with true ← n Nat.<ᵇ suc n | _ ← <⇒<ᵇ (n<1+n n) = ≡. refl
215
214
216
215
217
216
term₁+term₂≈term : ∀ i → term₁ i + term₂ i ≈ Binomial.term (suc n) i
@@ -228,7 +227,7 @@ module _ (x y : Carrier) where
228
227
Binomial.term (suc n) 0F ∎
229
228
230
229
term₁+term₂≈term (suc i) with view i
231
- ... | top
230
+ ... | ‵fromℕ {n}
232
231
{- remembering that i = fromℕ n, definitionally -}
233
232
rewrite toℕ-fromℕ n
234
233
| nCn≡1 n
@@ -241,7 +240,7 @@ module _ (x y : Carrier) where
241
240
x * x ^ n * 1# ≈˘⟨ +-identityʳ _ ⟩
242
241
1 × (x * x ^ n * 1#) ∎
243
242
244
- ... | inj j
243
+ ... | ‵inject₁ j
245
244
{- remembering that i = inject₁ j, definitionally -}
246
245
= begin
247
246
(x * term i) + (y * term (suc j))
0 commit comments