I'm trying to learn coq so please assume I know nothing about it.
If I have a lemma in coq that starts
forall n m:nat, n>=1 -> m>=1 ...
And I want to proceed by induction on n. How do I start the induction at 1? Currently when I use the "induction n." tactic it starts at zero and this makes the base statement false which makes it hard to proceed.
Any hints?
The following is a proof that every proposition
P
is true foralln>=1
, ifP
is true for1
and ifP
is inductively true.We begin the proof by induction.
A false base case is no problem, if you have a false hypothesis laying around. In this case
0>=1
.The inductive case is tricky, because to access a proof of
P n
, we first have to proof thatn>=1
. The trick is to do a case analysis onn
. Ifn=0
, then we can trivially proof the goalP 1
. Ifn>=1
, we can accessP n
, and then proof the rest.