{-# OPTIONS --cubical-compatible #-}
module Padova2025-zh-TW.ComputationalContent.Fictions.Minima (⊥ : Set) where
最小值#
open import Padova2025-zh-TW.ProgrammingBasics.Naturals.Base
open import Padova2025-zh-TW.ProvingBasics.Termination.Ordering
open import Padova2025-zh-TW.ProvingBasics.Termination.WellFounded.Base
open import Padova2025-zh-TW.ProvingBasics.Connectives.Disjunction
open import Padova2025-zh-TW.ProvingBasics.Connectives.Existential
open import Padova2025-zh-TW.ProvingBasics.Connectives.Conjunction
open import Padova2025-zh-TW.ComputationalContent.DoubleNegation (⊥)
函數在雙重否定意義下的最小值#
習題 1
gogo : (α : ℕ → ℕ) → (i : ℕ) → Acc _<'_ (α i) → ¬ ¬ (Σ[ i ∈ ℕ ] ((j : ℕ) → ¬ ¬ α i ≤ α j))
go α i (acc f) = oracle {Σ[ j ∈ ℕ ] α j < α i} ⟫= λ
{ (left (j , p)) → {!!}
; (right q) → {!!}
}
where
h : ¬ (Σ[ j ∈ ℕ ] α j < α i) → (j : ℕ) → ¬ ¬ (α i ≤ α j)
h q j with ≤-<-connex (α i) (α j)
... | left αi≤αj = {!!}
... | right αj<αi = {!!}
你的解答
參考解答
go : (α : ℕ → ℕ) → (i : ℕ) → Acc _<'_ (α i) → ¬ ¬ (Σ[ i ∈ ℕ ] ((j : ℕ) → ¬ ¬ α i ≤ α j))
go α i (acc f) = oracle {Σ[ j ∈ ℕ ] α j < α i} ⟫= λ
{ (left (j , p)) → go α j (f (<⇒<' p))
; (right q) → return (i , h q)
}
where
h : ¬ (Σ[ j ∈ ℕ ] α j < α i) → (j : ℕ) → ¬ ¬ (α i ≤ α j)
h q j with ≤-<-connex (α i) (α j)
... | left αi≤αj = return αi≤αj
... | right αj<αi = ⊥-elim (q (j , αj<αi))
習題 2
minimumminimum : (α : ℕ → ℕ) → ¬ ¬ (Σ[ i ∈ ℕ ] ((j : ℕ) → ¬ ¬ α i ≤ α j))
minimum = {!!}
你的解答
有居民的自然數集合的變體#
習題 3
go'go' : (P : ℕ → Set) (n : ℕ) → P n → Acc _<'_ n → ¬ ¬ (∃[ a ] P a × ((b : ℕ) → b < a → P b → ⊥))
go' = {!!}
你的解答
習題 4
minimum'minimum' : (P : ℕ → Set) → (∃[ n ] P n) → ¬ ¬ (∃[ a ] P a × ((b : ℕ) → b < a → P b → ⊥))
minimum' = {!!}
你的解答
最大的自然數?#
請仔細思考下面這段程式碼,它宣稱在雙重否定的意義下證明了存在最大的自然數。它是如何嘗試運作的?Agda 為什麼會拒絕它?
largest-number : ¬ ¬ (Σ[ a ∈ ℕ ] ((b : ℕ) → ¬ ¬ a ≥ b))
largest-number = f zero
where
f : ℕ → ¬ ¬ (Σ[ a ∈ ℕ ] ((b : ℕ) → ¬ ¬ a ≥ b))
f a k = k (a , h)
where
h : (b : ℕ) → ¬ ¬ a ≥ b
h b with ≤-<-connex b a
... | left b≤a = return m≤n
... | right a<b = λ k' → f b k
習題 5
lemmalemma : {x : ℕ} → succ x ≤ x → ⊥
lemma = {!!}
參考解答用到: s≤s
你的解答
習題 6
no-largest-numberno-largest-number : ¬ (¬ ¬ (∃[ a ] ((b : ℕ) → ¬ ¬ b ≤ a)))
no-largest-number = {!!}
你的解答