11# Tactics
22
3- Mathlib version: ` 1c119a384d559bccba90477b0ef3a645d77c5bd7 `
3+ Mathlib version: ` 51192f7a45ed5916e5395b2375273662b68a910f `
44
55## \# adaptation_note
66Defined in: ` «tactic#adaptation_note_» `
@@ -7917,7 +7917,12 @@ example : ∃ x : Nat, x = x := by use 42
79177917
79187918example : ∃ x : Nat, ∃ y : Nat, x = y := by use 42, 42
79197919
7920- example : ∃ x : String × String, x.1 = x.2 := by use ("forty-two", "forty-two")
7920+ example : Nonempty Nat := by use 5
7921+
7922+ example : Nonempty (PNat ≃ Nat) := by
7923+ use PNat.natPred, Nat.succPNat
7924+ · exact PNat.succPNat_natPred
7925+ · intro; rfl
79217926```
79227927
79237928` use! e₁, e₂, ⋯ ` is similar but it applies constructors everywhere rather than just for
@@ -7927,7 +7932,7 @@ leaves and nodes of the tree of constructors.
79277932With ` use! ` one can feed in each ` 42 ` one at a time:
79287933
79297934``` lean
7930- example : ∃ p : Nat × Nat, p.1 = p.2 := by use! 42, 42
7935+ example : ∃ n : {n : Nat // n % 2 = 0}, n.val > 10 := by use! 20; simp
79317936
79327937example : ∃ p : Nat × Nat, p.1 = p.2 := by use! (42, 42)
79337938```
@@ -7957,7 +7962,12 @@ example : ∃ x : Nat, x = x := by use 42
79577962
79587963example : ∃ x : Nat, ∃ y : Nat, x = y := by use 42, 42
79597964
7960- example : ∃ x : String × String, x.1 = x.2 := by use ("forty-two", "forty-two")
7965+ example : Nonempty Nat := by use 5
7966+
7967+ example : Nonempty (PNat ≃ Nat) := by
7968+ use PNat.natPred, Nat.succPNat
7969+ · exact PNat.succPNat_natPred
7970+ · intro; rfl
79617971```
79627972
79637973` use! e₁, e₂, ⋯ ` is similar but it applies constructors everywhere rather than just for
@@ -7967,7 +7977,7 @@ leaves and nodes of the tree of constructors.
79677977With ` use! ` one can feed in each ` 42 ` one at a time:
79687978
79697979``` lean
7970- example : ∃ p : Nat × Nat, p.1 = p.2 := by use! 42, 42
7980+ example : ∃ n : {n : Nat // n % 2 = 0}, n.val > 10 := by use! 20; simp
79717981
79727982example : ∃ p : Nat × Nat, p.1 = p.2 := by use! (42, 42)
79737983```
0 commit comments