It is not possible to derive induction for Church-encoded datatypes on the Calculus of Constructions (source). Moreover, according to the accepted answer to another question, it is also not possible to derive induction for Church-encoded datatypes on CoIC, despite the presence of inductive datatypes. As such, I wonder if we assume induction for Church-encoded Nat, cnat_ind
; that is:
cnat_ind :
(n : CNat) ->
(P : CNat -> Type) ->
(S : ∀ (n : CNat) -> P n -> P (csucc n)) ->
(Z : P czero) ->
P n
where CNat
, csucc
and czero
are the usual Church-encoded Nat type and constructors, would that allow us to inhabit the empty type ∀ (P : *) -> P
?
cnat_ind
is inhabited in the "simple" proof-irrelevant model (wherecnat
only has one inhabitant. This gives a simple proof of consistency, but is a little usatisfying, since we also would like this to hold in the presence ofczero =/= (csucc czero)
(or some large elimination axiom). $\endgroup$