Coq: wie man eine Hypothese auf eine andere anwendet

Angenommen, ich habe zwei Hypothesen im Zusammenhang,a_b : A -> B unda : A. Ich sollte mich bewerben könnena_b zua eine weitere Hypothese zu gewinnen,b : B.

Das heißt, vorausgesetzt, der folgende Zustand:

1 subgoal
A : Prop
B : Prop
C : Prop
a_b : A -> B
a : A
______________________________________(1/1)
C

Es sollte eine Taktik geben,foo (a_b a), um dies in den folgenden Zustand umzuwandeln:

1 subgoal
A : Prop
B : Prop
C : Prop
a_b : A -> B
a : A
b : B
______________________________________(1/1)
C

Aber ich weiß nicht wasfoo ist.

Eines kann ich tun:

 assert B as b.
 apply a_b.
 exact a.

aber das ist ziemlich langatmig und skaliert schlecht, wenn nichta_b a Ich habe einen größeren Ausdruck.

Eine andere Sache, die ich tun kann, ist:

specialize (a_b a).

aber diesesersetzt dasa_b Hypothese, die ich nicht machen will.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage