------------------------------------------------------------------------------ -- Axiomatic Peano arithmetic base ------------------------------------------------------------------------------ {-# OPTIONS --exact-split #-} {-# OPTIONS --no-sized-types #-} {-# OPTIONS --no-universe-polymorphism #-} {-# OPTIONS --without-K #-} module PA.Axiomatic.Standard.Base where infixl 7 _*_ infixl 6 _+_ ------------------------------------------------------------------------------ -- First-order logic with equality. open import Common.FOL.FOL-Eq public renaming ( D to ℕ ) -- Common definitions. open import Common.DefinitionsATP -- Non-logical constants postulate zero : ℕ succ : ℕ → ℕ _+_ _*_ : ℕ → ℕ → ℕ -- Proper axioms -- From (Machover 1996, p. 263) and (Hájek and Pudlák 1998, p. 28): -- -- PA₁. 0 ≠ n' -- PA₂. m' = n' → m = n -- PA₃. 0 + n = n -- PA₄. m' + n = (m + n)' -- PA₅. 0 * n = 0 -- PA₆. m' * n = n + (m * n) -- Axiom of induction: -- φ(0) → (∀n.φ(n) → φ(succ n)) → ∀n.φ(n), for any formulae φ postulate PA₁ : ∀ {n} → zero ≢ succ n PA₂ : ∀ {m n} → succ m ≡ succ n → m ≡ n PA₃ : ∀ n → zero + n ≡ n PA₄ : ∀ m n → succ m + n ≡ succ (m + n) PA₅ : ∀ n → zero * n ≡ zero PA₆ : ∀ m n → succ m * n ≡ n + m * n {-# ATP axioms PA₁ PA₂ PA₃ PA₄ PA₅ PA₆ #-} -- The axiom of induction is an axiom schema, therefore we do not -- translate it to TPTP. postulate ℕ-ind : (A : ℕ → Set) → A zero → (∀ n → A n → A (succ n)) → ∀ n → A n ------------------------------------------------------------------------------ -- References -- -- Machover, Moshé (1996). Set theory, Logic and their -- Limitations. Cambridge University Press. -- Hájek, Petr and Pudlák, Pavel (1998). Metamathematics of -- First-Order Arithmetic. 2nd printing. Springer.