Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ Additions to existing modules
++⁺ˡ : Reflexive R → ∀ zs → (_++ zs) Preserves (Pointwise R) ⟶ (Pointwise R)
```

* New lemmas in `Data.Nat.Properties`: adjunction between `suc` and `pred`
```agda
sm≤n⇒m≤pn : suc m ≤ n → m ≤ pred n
m≤pn⇒sm≤n : .{{NonZero n}} → m ≤ pred n → suc m ≤ n
```

* New lemma in `Data.Vec.Properties`:
```agda
map-concat : map f (concat xss) ≡ concat (map (map f) xss)
Expand Down
8 changes: 7 additions & 1 deletion src/Data/Nat/Properties.agda
Original file line number Diff line number Diff line change
Expand Up @@ -272,8 +272,14 @@ _≥?_ = flip _≤?_
s≤s-injective : {p q : m ≤ n} → s≤s p ≡ s≤s q → p ≡ q
s≤s-injective refl = refl

sm≤n⇒m≤pn : suc m ≤ n → m ≤ pred n
sm≤n⇒m≤pn {n = suc _} = s≤s⁻¹

m≤pn⇒sm≤n : .{{NonZero n}} → m ≤ pred n → suc m ≤ n
m≤pn⇒sm≤n {n = suc _} = s≤s

≤-pred : suc m ≤ suc n → m ≤ n
≤-pred = s≤s⁻¹
≤-pred = sm≤n⇒m≤pn

m≤n⇒m≤1+n : m ≤ n → m ≤ 1 + n
m≤n⇒m≤1+n z≤n = z≤n
Expand Down