部分文字列の帰納的定義を望むとします(文字列はリストと同義語にすぎません)。ここで帰納的Coq定義における存在量と普遍的な量量子の関係
Inductive substring {A : Set} (w : string A) :
(string A) -> Prop :=
| SS_substr : forall x y z : string A,
x ++ y ++ z = w ->
substring w y.
私は、例えば次のことを証明することができます。
Theorem test : substring [3;4;1] [4].
Proof.
eapply SS_substr.
cbn.
instantiate (1:=[1]).
instantiate (1:=[3]).
reflexivity.
Qed.
しかし、証拠は「実存」ではなく「ユニバーサル」、その誘導定義状態forall x y z
事実にもかかわらず、唯一でありますその形を制約します。これは私にはやや直感的ではないようです。何がありますか?
また、exists x : string A, exists y : string A, exists z : string, x ++ y ++ z = w -> substring w y
を使用して帰納的な定義を行うことはできますか?
よろしくお願いいたします。 (Jibadiba podajiba brm brm brm - より多くの文字が必要です) – AntlerM
@AntlerMあなたの最初の質問に答えても、私の記事を解決策として選択する前に待つべきです。 – eponier
私の考えでは、普遍的から確かに存在が確かに続くことは確かに意味があります(もし確かにAの中のxがあれば、xは存在します:A、P x 'はAが空ではないと仮定します)約;それは、他の人がこれについてある時点で偶然に遭遇する可能性があるため、題材に対するより多くの「関心」のための余地を残して、妥当なものであると言いました。悲しいことに、私は13人の議員であなたを夢中にすることはできません:)。 – AntlerM