Require Import ProofWeb.
Variables x y z a : D.
Variables p: D * D * D -> Prop.
Theorem letra_a : (all x, p(a,x,x) /\ (all x, ( all y, ( all z, p(x,y,z))) -> p(f(x),y,f(z)))) -> p(f(a),a,f(a)).
Proof.
intros.
imp_e (p(a,a,a)).
destruct H.
ここで問題が発生します。p(a、a、a)-> p(fa、a、fa)が必要です。これは、すべてのx、すべてのy、すべてのz、p(x、y、z)から明らかです。 > p(fx、y、fz)x、yおよびz = aをインスタンス化する必要がありますが、できません。私がすることはここでは受け入れられません。
f_all_e H0.
エラーが発生します:戦術的な失敗:(引数は全称記号ではないか、目標に適合しません)。
all_e(all x、all y、all z、p(x、y、z)-> p(fx、y、fz))を試してみると。エラー:戦術的失敗:(議論は全称記号ではありません)。
手伝ってもらえますか?私はCoqの情報をあちこちで掘り起こし、PDFを印刷し、試しましたが、それでもCoqの構文とロジックの流れを理解することができず、まだかなり迷っています。
ポインタを事前に感謝します!
見つかった解決策:
Theorem letra_c : (all y, q b y) /\ (all x, (all y, (q x y -> q (s x) (s y))) ) -> ( exi z, (q b z /\ q z (s (s b))) ).
Proof.
intros.
destruct H.
exi_i (s b).
con_i.
apply H.
imp_e (q b (s b)).
all_e (all y, (q b y -> q (s b) (s y))).
all_e (all x, (all y0, (q x y0 -> q (s x) (s y0)))).
apply H0.
apply H.
Qed.