src/ZF/Induct/Comb.thy
changeset 18415 eb68dc98bda2
parent 16417 9bc16273c2d4
child 24894 163c82d039cf
equal deleted inserted replaced
18414:560f89584ada 18415:eb68dc98bda2
   245 text {*
   245 text {*
   246   \medskip Equivalence of @{prop "p ---> q"} and @{prop "p ===> q"}.
   246   \medskip Equivalence of @{prop "p ---> q"} and @{prop "p ===> q"}.
   247 *}
   247 *}
   248 
   248 
   249 lemma contract_imp_parcontract: "p-1->q ==> p=1=>q"
   249 lemma contract_imp_parcontract: "p-1->q ==> p=1=>q"
   250   by (erule contract.induct) auto
   250   by (induct set: contract) auto
   251 
   251 
   252 lemma reduce_imp_parreduce: "p--->q ==> p===>q"
   252 lemma reduce_imp_parreduce: "p--->q ==> p===>q"
   253   apply (frule rtrancl_type [THEN subsetD, THEN SigmaD1])
   253   apply (frule rtrancl_type [THEN subsetD, THEN SigmaD1])
   254   apply (drule field_contract_eq [THEN equalityD1, THEN subsetD])
   254   apply (drule field_contract_eq [THEN equalityD1, THEN subsetD])
   255   apply (erule rtrancl_induct)
   255   apply (erule rtrancl_induct)
   257   apply (blast intro: contract_imp_parcontract r_into_trancl
   257   apply (blast intro: contract_imp_parcontract r_into_trancl
   258     trans_trancl [THEN transD])
   258     trans_trancl [THEN transD])
   259   done
   259   done
   260 
   260 
   261 lemma parcontract_imp_reduce: "p=1=>q ==> p--->q"
   261 lemma parcontract_imp_reduce: "p=1=>q ==> p--->q"
   262   apply (erule parcontract.induct)
   262   apply (induct set: parcontract)
   263      apply (blast intro: reduction_rls)
   263      apply (blast intro: reduction_rls)
   264     apply (blast intro: reduction_rls)
   264     apply (blast intro: reduction_rls)
   265    apply (blast intro: reduction_rls)
   265    apply (blast intro: reduction_rls)
   266   apply (blast intro: trans_rtrancl [THEN transD]
   266   apply (blast intro: trans_rtrancl [THEN transD]
   267     Ap_reduce1 Ap_reduce2 parcontract_combD1 parcontract_combD2)
   267     Ap_reduce1 Ap_reduce2 parcontract_combD1 parcontract_combD2)