summaryrefslogtreecommitdiff
path: root/Nominal/Helpers/CountableString.lean
blob: b6f59f85ea9fcd1ae703043f1c2a247ce1374eea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Mathlib

instance : Countable Char where
  exists_injective_nat' := by
    use Char.toNat
    intro c₁ c₂ hc
    rw [Char.toNat, Char.toNat, UInt32.toNat_inj] at hc
    exact Char.eq_of_val_eq hc

instance : Countable String := Countable.of_equiv (List Char)
  { toFun := String.mk
    invFun := String.data
    left_inv x := by simp
    right_inv x := by simp }