2013-11-28 5 views
5

मैं इसाबेल में A /\ B /\ C /\ D /\ E /\ F साबित करना चाहता हूं। proof(rule ...) में मैं subgoal को 6 अलग-अलग सबगोल्स में कैसे विभाजित कर सकता हूं, तो फिर मैं उन्हें अलग-अलग साबित कर सकता हूं?क्या स्वचालित रूप से संयोजन को विभाजित करने का कोई तरीका है?

बेशक, मैं proof(rule conjI) 5 बार लिख सकता हूं, लेकिन हो सकता है कि एक चरण में विभाजन करने का एक और शानदार तरीका हो? सबूत के लिए इस तरह के लक्ष्यों को proof (intro conjI)

उत्तर

3

intro विधि का उपयोग करें। जैसे, के रूप में

lemma "A & B & C & D & E & F" 
proof - 
    { have "A" ... } 
    moreover 
    { have "B" ... } 
    moreover 
    { have "C" ... } 
    moreover 
    { have "D" ... } 
    moreover 
    { have "E" ... } 
    moreover 
    { have "F" ... } 
    ultimately 
    show ?thesis by blast 
qed 

इस प्रकार अंतर यहाँ है कि आप एक अधिक आगे सबूत (जो मैं कभी कभी अधिक पठनीय लगता है) करते हैं। आप बस जो कुछ जानते हैं उससे शुरू करें, आपको किसी भी बिंदु पर सबूत देना होगा और अंत में कुछ स्वचालित विधि (यहां blast) को "तुच्छ" चरणों को समझने दें।

+0

धन्यवाद! महान काम करता है –

+0

मेरी समझ यह है कि 'परिचय foo' '(नियम foo) +' जैसा ही है, यानी यह नियम 'foo' जितनी बार संभव हो लागू होता है। –

+1

यह काफी मामला नहीं है। '(नियम foo) +' केवल हर बार पहले नए उपन्यास पर नियम लागू करने का प्रयास करेगा, जबकि 'परिचय foo' भी उत्पन्न होने वाले अन्य सभी उपगोर्गों पर लागू होगा। उदाहरण के लिए, 'लेम्मा' (एक ∧ बी) ∧ सी ∧ डी "' लें और 'लागू करें (नियम conjI) +' और 'आवेदन (परिचय conjI)' की तुलना करें। पहले मामले में, आपको दूसरे मामले में उप-समूह 'ए',' बी', और 'सी ∧ डी' मिलता है, आपको' ए', 'बी',' सी', और 'डी' मिलता है। –

0

एक और तरीका है कच्चे सबूत ब्लॉक का उपयोग करना है:

संबंधित मुद्दे

 संबंधित मुद्दे