namespace http://cds.omdoc.org/examples❚
theory FlexaryConnectives : ur:?LFS =
include ?PL❙
flexand : {n} prop^n ⟶ prop❘# ⋀ 2❙
flexandI : {n} {a: prop^n} ⟨' ⊦ a..i | i:n '⟩ ⟶ ⊦ ⋀ a❙
flexandE : {n} {a: prop^n} ⊦ ⋀ a ⟶ {i} DED (succ i) LEQ n ⟶ ⊦ a..i❙
flexor : {n} prop^n ⟶ prop❘# ⋁ 2❙
flexorI : {n} {a: prop^n} {i} DED (succ i) LEQ n ⟶ ⊦ a..i ⟶ ⊦ ⋁ a❙
flexorE : {n} {a: prop^n} {C} ⊦ ⋁ a ⟶ ⟨' ⊦ a..i ⟶ ⊦ C |i:n '⟩ ⟶ ⊦ C❙
fleximp : {n} prop^n ⟶ prop ⟶ prop❘# 2 ⇒* 3 prec 10❙
fleximpI : {n} {a: prop^n, b} (⟨' ⊦ a..i|i:n '⟩ ⟶ ⊦ b) ⟶ ⊦ a ⇒* b❙
fleximpE : {n} {a: prop^n, b} ⊦ a ⇒* b ⟶ ⟨' ⊦ a..i|i:n '⟩ ⟶ ⊦ b❙
❚
theory FlexaryQuantifiers : ur:?LFS =
include ?FOL❙
flexforall : {n} (term^n ⟶ prop) ⟶ prop❘# ∀* 2❙
flexforallI: {n, F: term^n ⟶ prop} ({x:term^n} ⊦ F x) ⟶ ⊦ ∀* [x] F x❙
flexforallE: {n, F: term^n ⟶ prop} {x:term^n} ⊦ (∀* [x] F x) ⟶ ⊦ F x❙
flexexists : {n} (term^n ⟶ prop) ⟶ prop❘# ∃* 2❙
flexexistsI: {n, F: term^n ⟶ prop} {x:term^n} ⊦ F x ⟶ ⊦ ∃* [x] F x❙
flexexistsE: {n, F: term^n ⟶ prop,C} ({x:term^n} ⊦ (∃* [x] F x) ⟶ ⊦ C) ⟶ ⊦ C❙
❚