|
22 | 22 | <a id="615" class="Keyword">open</a> <a id="620" class="Keyword">import</a> <a id="627" href="Data.Nat.Combinatorics.html" class="Module">Data.Nat.Combinatorics</a> |
23 | 23 | <a id="652" class="Keyword">using</a> <a id="658" class="Symbol">(</a><a id="659" href="Data.Nat.Combinatorics.Base.html#1622" class="Function Operator">_C_</a><a id="662" class="Symbol">;</a> <a id="664" href="Data.Nat.Combinatorics.html#2974" class="Function">nCn≡1</a><a id="669" class="Symbol">;</a> <a id="671" href="Data.Nat.Combinatorics.html#3195" class="Function">nC1≡n</a><a id="676" class="Symbol">;</a> <a id="678" href="Data.Nat.Combinatorics.html#4831" class="Function">nCk+nC[k+1]≡[n+1]C[k+1]</a><a id="701" class="Symbol">)</a> |
24 | 24 | <a id="703" class="Keyword">open</a> <a id="708" class="Keyword">import</a> <a id="715" href="Data.Nat.Properties.html" class="Module">Data.Nat.Properties</a> <a id="735" class="Symbol">as</a> <a id="738" class="Module">ℕ</a> |
25 | | - <a id="742" class="Keyword">using</a> <a id="748" class="Symbol">(</a><a id="749" href="Data.Nat.Properties.html#5072" class="Function"><⇒<ᵇ</a><a id="753" class="Symbol">;</a> <a id="755" href="Data.Nat.Properties.html#13416" class="Function">n<1+n</a><a id="760" class="Symbol">;</a> <a id="762" href="Data.Nat.Properties.html#46678" class="Function">n∸n≡0</a><a id="767" class="Symbol">;</a> <a id="769" href="Data.Nat.Properties.html#47194" class="Function">∸-suc</a><a id="774" class="Symbol">)</a> |
| 25 | + <a id="742" class="Keyword">using</a> <a id="748" class="Symbol">(</a><a id="749" href="Data.Nat.Properties.html#5072" class="Function"><⇒<ᵇ</a><a id="753" class="Symbol">;</a> <a id="755" href="Data.Nat.Properties.html#13416" class="Function">n<1+n</a><a id="760" class="Symbol">;</a> <a id="762" href="Data.Nat.Properties.html#46995" class="Function">n∸n≡0</a><a id="767" class="Symbol">;</a> <a id="769" href="Data.Nat.Properties.html#47511" class="Function">∸-suc</a><a id="774" class="Symbol">)</a> |
26 | 26 | <a id="776" class="Keyword">open</a> <a id="781" class="Keyword">import</a> <a id="788" href="Data.Fin.Base.html" class="Module">Data.Fin.Base</a> <a id="802" class="Symbol">as</a> <a id="805" class="Module">Fin</a> |
27 | 27 | <a id="811" class="Keyword">using</a> <a id="817" class="Symbol">(</a><a id="818" href="Data.Fin.Base.html#1132" class="Datatype">Fin</a><a id="821" class="Symbol">;</a> <a id="823" href="Data.Fin.Base.html#1154" class="InductiveConstructor">zero</a><a id="827" class="Symbol">;</a> <a id="829" href="Data.Fin.Base.html#1175" class="InductiveConstructor">suc</a><a id="832" class="Symbol">;</a> <a id="834" href="Data.Fin.Base.html#1240" class="Function">toℕ</a><a id="837" class="Symbol">;</a> <a id="839" href="Data.Fin.Base.html#1825" class="Function">fromℕ</a><a id="844" class="Symbol">;</a> <a id="846" href="Data.Fin.Base.html#3055" class="Function">inject₁</a><a id="853" class="Symbol">)</a> |
28 | 28 | <a id="855" class="Keyword">open</a> <a id="860" class="Keyword">import</a> <a id="867" href="Data.Fin.Patterns.html" class="Module">Data.Fin.Patterns</a> <a id="885" class="Keyword">using</a> <a id="891" class="Symbol">(</a><a id="892" href="Data.Fin.Patterns.html#422" class="InductiveConstructor">0F</a><a id="894" class="Symbol">)</a> |
|
150 | 150 | <a id="5378" href="Algebra.Properties.Semiring.Binomial.html#5358" class="Function">k≡j</a> <a id="5382" class="Symbol">=</a> <a id="5384" href="Data.Fin.Properties.html#16121" class="Function">toℕ-inject₁</a> <a id="5396" href="Algebra.Properties.Semiring.Binomial.html#4569" class="Bound">j</a> |
151 | 151 |
|
152 | 152 | <a id="5403" href="Algebra.Properties.Semiring.Binomial.html#5403" class="Function">[n-k]≡[n-j]</a> <a id="5415" class="Symbol">:</a> <a id="5417" href="Algebra.Properties.Semiring.Binomial.html#5221" class="Function">[n-k]</a> <a id="5423" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="5425" href="Algebra.Properties.Semiring.Binomial.html#5297" class="Function">[n-j]</a> |
153 | | - <a id="5435" href="Algebra.Properties.Semiring.Binomial.html#5403" class="Function">[n-k]≡[n-j]</a> <a id="5447" class="Symbol">=</a> <a id="5449" href="Relation.Binary.PropositionalEquality.Core.html#2080" class="Function">≡.trans</a> <a id="5457" class="Symbol">(</a><a id="5458" href="Relation.Binary.PropositionalEquality.Core.html#1481" class="Function">cong</a> <a id="5463" class="Symbol">(</a><a id="5464" href="Algebra.Properties.Semiring.Binomial.html#4566" class="Bound">n</a> <a id="5466" href="Data.Nat.Base.html#4462" class="Primitive Operator">∸_</a><a id="5468" class="Symbol">)</a> <a id="5470" href="Algebra.Properties.Semiring.Binomial.html#5358" class="Function">k≡j</a><a id="5473" class="Symbol">)</a> <a id="5475" class="Symbol">(</a><a id="5476" href="Data.Nat.Properties.html#47194" class="Function">∸-suc</a> <a id="5482" class="Symbol">(</a><a id="5483" href="Data.Fin.Properties.html#6538" class="Function">toℕ<n</a> <a id="5489" href="Algebra.Properties.Semiring.Binomial.html#4569" class="Bound">j</a><a id="5490" class="Symbol">))</a> |
| 153 | + <a id="5435" href="Algebra.Properties.Semiring.Binomial.html#5403" class="Function">[n-k]≡[n-j]</a> <a id="5447" class="Symbol">=</a> <a id="5449" href="Relation.Binary.PropositionalEquality.Core.html#2080" class="Function">≡.trans</a> <a id="5457" class="Symbol">(</a><a id="5458" href="Relation.Binary.PropositionalEquality.Core.html#1481" class="Function">cong</a> <a id="5463" class="Symbol">(</a><a id="5464" href="Algebra.Properties.Semiring.Binomial.html#4566" class="Bound">n</a> <a id="5466" href="Data.Nat.Base.html#4462" class="Primitive Operator">∸_</a><a id="5468" class="Symbol">)</a> <a id="5470" href="Algebra.Properties.Semiring.Binomial.html#5358" class="Function">k≡j</a><a id="5473" class="Symbol">)</a> <a id="5475" class="Symbol">(</a><a id="5476" href="Data.Nat.Properties.html#47511" class="Function">∸-suc</a> <a id="5482" class="Symbol">(</a><a id="5483" href="Data.Fin.Properties.html#6538" class="Function">toℕ<n</a> <a id="5489" href="Algebra.Properties.Semiring.Binomial.html#4569" class="Bound">j</a><a id="5490" class="Symbol">))</a> |
154 | 154 |
|
155 | 155 | <a id="5494" class="Comment">------------------------------------------------------------------------</a> |
156 | 156 | <a id="5567" class="Comment">-- Now, a lemma characterising the sum of the term₁ and term₂ expressions</a> |
|
177 | 177 | <a id="6400" class="Comment">{- remembering that i = fromℕ n, definitionally -}</a> |
178 | 178 | <a id="6453" class="Keyword">rewrite</a> <a id="6461" href="Data.Fin.Properties.html#7562" class="Function">toℕ-fromℕ</a> <a id="6471" href="Algebra.Properties.Semiring.Binomial.html#6397" class="Bound">n</a> |
179 | 179 | <a id="6477" class="Symbol">|</a> <a id="6479" href="Data.Nat.Combinatorics.html#2974" class="Function">nCn≡1</a> <a id="6485" href="Algebra.Properties.Semiring.Binomial.html#6397" class="Bound">n</a> |
180 | | - <a id="6491" class="Symbol">|</a> <a id="6493" href="Data.Nat.Properties.html#46678" class="Function">n∸n≡0</a> <a id="6499" href="Algebra.Properties.Semiring.Binomial.html#6397" class="Bound">n</a> |
| 180 | + <a id="6491" class="Symbol">|</a> <a id="6493" href="Data.Nat.Properties.html#46995" class="Function">n∸n≡0</a> <a id="6499" href="Algebra.Properties.Semiring.Binomial.html#6397" class="Bound">n</a> |
181 | 181 | <a id="6505" class="Symbol">|</a> <a id="6507" href="Algebra.Properties.Semiring.Binomial.html#5652" class="Function">n<ᵇ1+n</a> <a id="6514" href="Algebra.Properties.Semiring.Binomial.html#6397" class="Bound">n</a> |
182 | 182 | <a id="6520" class="Symbol">=</a> <a id="6522" href="Relation.Binary.Reasoning.Syntax.html#1572" class="Function Operator">begin</a> |
183 | 183 | <a id="6530" href="Algebra.Properties.Semiring.Binomial.html#497" class="Bound">x</a> <a id="6532" href="Algebra.Bundles.html#18634" class="Field Operator">*</a> <a id="6534" class="Symbol">((</a><a id="6536" href="Algebra.Properties.Semiring.Binomial.html#497" class="Bound">x</a> <a id="6538" href="Algebra.Definitions.RawSemiring.html#1256" class="Function Operator">^</a> <a id="6540" href="Algebra.Properties.Semiring.Binomial.html#6397" class="Bound">n</a> <a id="6542" href="Algebra.Bundles.html#18634" class="Field Operator">*</a> <a id="6544" href="Algebra.Bundles.html#18688" class="Field">1#</a><a id="6546" class="Symbol">)</a> <a id="6548" href="Algebra.Bundles.html#18605" class="Field Operator">+</a> <a id="6550" href="Algebra.Bundles.html#18663" class="Field">0#</a><a id="6552" class="Symbol">)</a> <a id="6554" href="Algebra.Bundles.html#18605" class="Field Operator">+</a> <a id="6556" href="Algebra.Bundles.html#18663" class="Field">0#</a> <a id="6559" href="Relation.Binary.Reasoning.Syntax.html#7111" class="Function">≈⟨</a> <a id="6562" href="Algebra.Structures.html#15044" class="Function">+-identityʳ</a> <a id="6574" class="Symbol">_</a> <a id="6576" href="Relation.Binary.Reasoning.Syntax.html#7111" class="Function">⟩</a> |
|
0 commit comments