Skip to content

Commit

Permalink
Merge pull request #707 from lean-ja/Seasawher/issue706
Browse files Browse the repository at this point in the history
演習問題に autoImplicit false を追加する
  • Loading branch information
Seasawher authored Aug 27, 2024
2 parents 3004dcf + d5da1b8 commit efb4b2c
Show file tree
Hide file tree
Showing 10 changed files with 10 additions and 6 deletions.
1 change: 1 addition & 0 deletions Examples/Exercise/BarberParadox.lean
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
この内容を Lean で表現してみましょう。演習問題として、`sorry` の部分を埋めてみてください。
-/
namespace Barber
set_option autoImplicit false --#

/-- 全体集合となる人々の集合 -/
opaque Person : Type
Expand Down
1 change: 1 addition & 0 deletions Examples/Exercise/CantorTheorem.lean
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Lean の型 `T : Type` は直観的には「項の集まり」を意味するの
そこで全体集合 `α : Type` を固定して、その中に含まれる集まりだけを考えることにします。
-/
set_option autoImplicit false --#

/-- α を全体集合として、その部分集合の全体。
α の部分集合と α 上の述語を同一視していることに注意。 -/
Expand Down
1 change: 1 addition & 0 deletions Examples/Exercise/DeMorganAndEm.lean
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
`simp` や `rw` でライブラリの命題を引用する方法でも示すことができますし、使わずに自力で示すこともできます。どちらでも構いませんが、Lean に慣れていない人は自力で示すのに挑戦してみてください。
-/
set_option autoImplicit false --#

theorem not_or_mp (P Q : Prop) : ¬ (P ∨ Q) → ¬ P ∧ ¬ Q := by
sorry
Expand Down
7 changes: 1 addition & 6 deletions Examples/Exercise/ImpDefValidness.lean
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
まずは、含意に相当する「何か」を定義しましょう。それは、命題から命題への2引数関数になっているはずです。ここではその何かに `Imp` という名前をつけ、`→ᵥ` という記号で表すことにします。
-/
set_option autoImplicit false --#
-- 含意が満たすべき性質を満たす「何か」
opaque Imp (P Q : Prop) : Prop

Expand Down Expand Up @@ -61,9 +62,3 @@ variable {P Q : Prop}
/-- 前件(antecedent)が偽であるとき、「P ならば Q」は真 -/
theorem imp_of_ant_false (nP : ¬ P) : P →ᵥ Q := by
sorry

/-
```admonish tip title="ヒント"
どの要請が絶対に必要なのか考えてみるといいかもしれません。示したい命題 `imp_of_ant_false` は、`→ᵥ` の部分を同値関係 `↔` に読み替えるとともはや正しくありません。つまり、同値関係の話に読み替えたら成り立たなくなるような要請を、どれか一つ必ず使用するはずですね。
```
-/
1 change: 1 addition & 0 deletions Examples/Exercise/KnightAndKnave.lean
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
ここでは後で便利なように `simp` 補題も示しておくことにします。
-/
import Lean --#
set_option autoImplicit false --#

/-- その島の住民を表す型 -/
opaque Islander : Type
Expand Down
1 change: 1 addition & 0 deletions Examples/Solution/BarberParadox.lean
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
この内容を Lean で表現してみましょう。演習問題として、`sorry` の部分を埋めてみてください。
-/
namespace Barber
set_option autoImplicit false --#

/-- 全体集合となる人々の集合 -/
opaque Person : Type
Expand Down
1 change: 1 addition & 0 deletions Examples/Solution/CantorTheorem.lean
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Lean の型 `T : Type` は直観的には「項の集まり」を意味するの
そこで全体集合 `α : Type` を固定して、その中に含まれる集まりだけを考えることにします。
-/
set_option autoImplicit false --#

/-- α を全体集合として、その部分集合の全体。
α の部分集合と α 上の述語を同一視していることに注意。 -/
Expand Down
1 change: 1 addition & 0 deletions Examples/Solution/DeMorganAndEm.lean
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
`simp` や `rw` でライブラリの命題を引用する方法でも示すことができますし、使わずに自力で示すこともできます。どちらでも構いませんが、Lean に慣れていない人は自力で示すのに挑戦してみてください。
-/
set_option autoImplicit false --#

theorem not_or_mp (P Q : Prop) : ¬ (P ∨ Q) → ¬ P ∧ ¬ Q := by
-- sorry
Expand Down
1 change: 1 addition & 0 deletions Examples/Solution/ImpDefValidness.lean
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
まずは、含意に相当する「何か」を定義しましょう。それは、命題から命題への2引数関数になっているはずです。ここではその何かに `Imp` という名前をつけ、`→ᵥ` という記号で表すことにします。
-/
set_option autoImplicit false --#
-- 含意が満たすべき性質を満たす「何か」
opaque Imp (P Q : Prop) : Prop

Expand Down
1 change: 1 addition & 0 deletions Examples/Solution/KnightAndKnave.lean
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
ここでは後で便利なように `simp` 補題も示しておくことにします。
-/
import Lean --#
set_option autoImplicit false --#

/-- その島の住民を表す型 -/
opaque Islander : Type
Expand Down

0 comments on commit efb4b2c

Please sign in to comment.