coq


Combining two Coq hypotheses


So I have two hypotheses, one that is h : A -> B, and the other which is h2 : A. How can I get h3 : B to appear in my hypotheses?
pose proof (h h2) as h3.
introduces h3 : B as a new hypothesis,
specialize (h h2).
modifies h : A -> B into h : B -- this can be useful if you won't need h later, and symmetrically,
apply h in h2.
converts h2 : A into h2 : B.
Another (not very convenient) way would be to
assert B as h3 by exact (h h2).
That's what the pose proof variant is equivalent to.
Also, in a simple case like the following, you can solve your goal without introducing a new hypothesis:
Goal forall (A B : Prop), (A -> B) -> A -> B.
intros A B h h2.
apply (h h2).
Qed.

Related Links

is there a `eapply`-like tactic that works on `exists` goals in Coq?
rewrite works for = but not for <-> (iff) in Coq
Passing patterns to tactics
How to automatically introduce symmetries into Coq hypotheses?
How to save the current goal / subgoal as an `assert` lemma
How to introduce a new existential condition from a witness in Coq?
How to use a custom induction principle in Coq?
How to proof consistency in a COQ theory
Printing a message only if a tactic succeeds
how to rearrange terms in Coq using plus communtativity and associativity?
Proving a theorem in Coq using almost only rewrites - no “cleverness”
MSets of different types interact badly
Defining interval function in Coq
How to introduce a new variable in Coq?
How do I check for convertibility in a tactic producing terms?
Abstracting over the term … leads to a term … which is ill-typed

Categories

HOME
arduino-uno
asp.net-core
deployment
vbscript
atom-editor
react-virtualized
android-4.4-kitkat
tizen-web-app
v8
echarts
azure-media-services
autotools
facebook-messenger-bot
gitpitch
gorm
alignment
usergrid
gz
remote-access
progressive-web-apps
ef-migrations
http-status-code-504
oracle-coherence
lucene.net
nodatime
amazonsellercentral
reverse-proxy
xlsxwriter
cloudhub
ehcache
telerik-reporting
firebase-crash-reporting
numerical-methods
facet
facebook-access-token
intel-pin
strncpy
buck
objectanimator
file-rename
nouislider
xquery-3.0
data-manipulation
siesta-swift
azure-sql-database
android-kernel
scaffold
unspecified
unoconv
isbn
fakeiteasy
password-encryption
turbogears
mime
vao
logfiles
google-datalayer
scrollable
youcompleteme
revapi
react-scripts
datastax-startup
powercli
darcs
kbuild
flow-control
ableton-live
firmata
static-ip-address
azure-sdk
vmware-tools
infix-notation
radtreelist
elements
underscore.js-templating
mongocsharpdriver
fuzzy-search
firebaseui
qcustomplot
bluemix-app-scan
system.management
r-tree
jms2
quicklisp
emailrelay
interrupted-exception
event-bubbling
sailfish-os
mmc
skos
bigbluebutton
pick
tablelayout
qcodo
websocket4net
responsive-slides
undefined-reference
intentservice
html5-notifications
oam
commoncrypto
bulkloader
http-unit
typoscript2
multipage
tridion-worldserver
ocx
removeclass
celltable
mysql-error-1005
revisions
web-architecture
mtj
uimenucontroller
eqatec
noscript
nerddinner
caching-application-block
misv

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App