私は Coq の初心者で、行き止まりに遭遇しました。おおよそ次のような帰納的な定義があります (前に帰納的に受け入れを定義しました)。
Inductive fun : accepts -> Prop :=
| fn1 : fun True
| fn2 : forall (n : nat )(A : accepts), fun A -> fun (n A).
私が証明する必要があるのはこれです:
Lemma lem_1 (A : formula) (n : nat) (h : fun (n A)) : fun A.
もちろん、私が得る証明を開始するとき
A : accepts
n : nat
h : fun (n A)
============================
fun A
私は長い間戦術について読んで、h を fn2 などにプラグインできる方法を見つけようとしましたが、それを行う方法を見つけることができません。誰かが私をここに案内して、アイデアを教えてもらえますか?? また、楽しい A を A に単純化するために何かをしようとしましたが、そこでも成功しませんでした。ご助力ありがとうございます!