このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

集合と写像の証明

次を示す。

  • f(A)\f(P) ⊆ f(A\P)

下に、清書したフォワードプルーフ。作業的にはバックワード探索をしている。

使う(一部未使用)定義、論理法則、推論規則:

  • DefSetInc: A⊆B :⇔ ∀x.(x∈A ⇒ x∈B)
  • DefSetDiff: X = A\B :⇔ ∀x.(x∈X ⇔ (x∈A ∧ ¬(x∈B)))
  • DefSetDiff: x∈A\B :⇔ x∈A ∧ ¬(x∈B)
  • DefMapImage: y∈f(A) :⇔ ∃x.(x∈A ∧ f(x) = y)
  • LawDeMor: ¬(A∧B) ⇔ ¬A∨¬B
  • LawDeMor: ¬(A∨B) ⇔ ¬A∧¬B
  • LawDeMor: ¬∀x.P ⇔ ∃x.¬P
  • LawDeMor: ¬∃x.P ⇔ ∀x.¬P
  • LawContrapo: (A⇒B) ⇔ (¬B⇒A)
  • LawConjAssoc: (A∧B)∧C ⇔ A∧(B∧C)
  • LawConjComm: A∧B ⇔ B∧A
  • RuleDisjNeg: A∨B, ¬B |- A
// SerND 差集合の像
put
 f(A)\f(P) ⊆ f(A\P) ---(goal)
proof of (goal)
 assume
  y∈(f(A)\f(P)) ---(ass)
 expand by DefSetDiff
  y∈f(A) ∧ ¬(y∈f(P))
 expand $.1 by DefMapImage; expnad $.2.1 by DefMapImage
  ∃x.(x∈A ∧ f(x) = y) ∧ ¬(∃x.(x∈P ∧ f(x) = y)
 apply LawDeMor to $.2
  ∃x.(x∈A ∧ f(x) = y) ∧ ∀x.(¬(x∈P) ∨ ¬(f(x) = y)) ---(ass')
 select $.1
  ∃x.(x∈A ∧ f(x) = y)
 choice a
    a∈A ∧ f(a) = y ---(ch)
   select $.2 of (ass')
    ∀x.(¬(x∈P) ∨ ¬(f(x) = y))
   instantiate by a
    ¬(a∈P) ∨ ¬(f(a) = y) ---(inst)
   select $.2 of (ch)
    f(a) = y ---(ch2)
   call RuleDistNeg[(inst), (ch2)]
    ¬(a∈P)
   concat with (ch)
    ¬(a∈P) ∧ (a∈A ∧ f(a) = y)
   rewrite by LawConjAsoc, LawConjComm
    (a∈A ∧ ¬(a∈P)) ∧ f(a) = y
   introduce existential witness a
    ∃x.((x∈A ∧ ¬(x∈P)) ∧ f(x) = y)
 end choice
  ∃x.((x∈A ∧ ¬(x∈P)) ∧ f(x) = y)
 contract $.1.1 by DefSetDiff
  ∃x.(x∈A\P ∧ f(x) = y)
 contract by DefMapImage
  y∈f(A\P)
 use condition (ass)
  y∈(f(A)\f(P)) ⇒ y∈f(A\P)
 contract by Def SetInc
  f(A)\f(P) ⊆ f(A\P)
end proof of (goal)