一度に1つのステップを簡略化する方法はありますか?coqでのステップバイステップの簡略化
あなたは、単一のsimpl
を経由して順番に簡略化することができ、どちらもf1 (f2 x)
があると、それは、最初のステップとしてf2 x
を簡素化し、中間結果を検討し、その後f1
を簡素化することができますか?
例えば定理を取る:
Theorem pred_length : forall n : nat, forall l : list nat,
pred (length (n :: l)) = length l.
Proof.
intros.
simpl.
reflexivity.
Qed.
simpl
戦術がlength l
からNat.pred (length (n :: l))
を簡素化します。 2段階の簡素化、すなわちにそれを破るためにそこに方法がある:
Nat.pred (length (n :: l)) --> Nat.pred (S (length l)) --> length l
[mcve]はいいと思います...最後の「単語」は「f1」であってはいけませんか? –
それを指摘していただきありがとうございます。編集されました。 –