mirror of
https://github.com/Smaug123/agdaproofs
synced 2025-10-11 22:58:40 +00:00
28 lines
780 B
Agda
28 lines
780 B
Agda
{-# OPTIONS --warning=error --safe --without-K #-}
|
||
|
||
open import LogicalFormulae
|
||
open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
|
||
open import WellFoundedInduction
|
||
open import Functions
|
||
open import Orders
|
||
open import Numbers.Naturals.Definition
|
||
open import Numbers.Naturals.Addition
|
||
open import Numbers.Naturals.Order
|
||
open import Numbers.Naturals.Multiplication
|
||
open import Numbers.Naturals.Exponentiation
|
||
open import Semirings.Definition
|
||
open import Monoids.Definition
|
||
open import Maybe
|
||
|
||
module Numbers.Naturals.Subtraction where
|
||
|
||
_-N'_ : (a b : ℕ) → Maybe ℕ
|
||
zero -N' zero = yes 0
|
||
zero -N' succ b = no
|
||
succ a -N' zero = yes (succ a)
|
||
succ a -N' succ b = a -N' b
|
||
|
||
subtractZero : (a : ℕ) → a -N' 0 ≡ yes a
|
||
subtractZero zero = refl
|
||
subtractZero (succ a) = refl
|