0
我有一個功能 「HF
」 內部有部分類型S
內部錯誤類型和外側部分
Open S.
HF: forall f : dup_sig Sig, dup_ar f = ASignature.arity (F f)
End S.
Signature: Type
Sig: Signature
dp_Sig : Signature
dup_sig : Signature -> Signature
F : dup_sig Sig -> Sig
dup_symb : Signature -> Type
dup_ar : forall Sig : Signature, dup_symb Sig -> nat
ASignature.arity : forall s : Signature, s -> nat
我想寫一個引理:
Lemma incl_fl : forall R R, Fl HF R [= R'.
凡
Fl: forall (S1 S2 : Signature) (F : S1 -> S2),
(forall f : S1, ASignature.arity f = ASignature.arity (F f)) ->
list (ATrs.rule S1) -> list (ATrs.rule S2)
當我在S
這個部分中有這個功能的時候沒問題。
但是我想在S
部分的外面寫出函數incl_fl
。 以下是HF
的外部部分S
的類型。
HF: forall (arity : symbol -> nat) (f : dup_sig (Sig arity)),
dup_ar f = ASignature.arity (F f)
Lemma incl_fl : forall arity R R', Fl HF R [= R'.
我在「HF
」得到了一個錯誤:
The term "HF" has type
"forall (arity : symbol -> nat) (f : dup_sig (Sig arity)),
dup_ar f = ASignature.arity (F f)" while it is expected to have type
"forall f : ?35524, ASignature.arity f = ASignature.arity (?35526 f)".
我試圖找到一個地方來添加arity
在這個函數「HF
」,但是我沒有成功。 可否請你幫我寫下外號S
之外的引理「incl_fl
」?非常感謝你。