Up to index of Isabelle/ZF/IsarMathLib
theory MMI_logic_and_sets(* This file is a part of MMIsar - a translation of Metamath's set.mm to Isabelle 2005 (ZF logic). Copyright (C) 2006 Slawomir Kolodynski This program is free software; Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *) header {*\isaheader{MMI\_logic\_and\_sets.thy}*} theory MMI_logic_and_sets imports MMI_prelude begin section{*Basic Metamath theorems*} text{* This section contains Metamath theorems that the more advanced theorems from @{text "MMIsar.thy"} depend on. Most of these theorems are proven automatically by Isabelle, some have to be proven by hand and some have to be modified to convert from Tarski-Megill metalogic used by Metamath to one based on explicit notion of free and bound variables. *} lemma MMI_ax_mp: assumes "φ" and "φ --> ψ" shows "ψ" using prems by auto; lemma MMI_sseli: assumes A1: "A ⊆ B" shows "C ∈ A --> C ∈ B" using prems by auto lemma MMI_sselii: assumes A1: "A ⊆ B" and A2: "C ∈ A" shows "C ∈ B" using prems by auto lemma MMI_syl: assumes A1: "φ --> ps" and A2: "ps --> ch" shows "φ --> ch" using prems by auto; lemma MMI_elimhyp: assumes A1: "A = if ( φ , A , B ) --> ( φ <-> ψ )" and A2: "B = if ( φ , A , B ) --> ( ch <-> ψ )" and A3: "ch" shows "ψ" proof - { assume "φ" with A1 have "ψ" by simp; } moreover { assume "¬φ" with A2 A3 have "ψ" by simp; } ultimately show "ψ" by auto; qed; lemma MMI_neeq1: shows "A = B --> ( A ≠ C <-> B ≠ C )" by auto; lemma MMI_mp2: assumes A1: "φ" and A2: "ψ" and A3: "φ --> ( ψ --> chi )" shows "chi" using prems by auto; lemma MMI_xpex: assumes A1: "A isASet" and A2: "B isASet" shows "( A × B ) isASet" using prems by auto lemma MMI_fex: shows "A ∈ C --> ( F : A -> B --> F isASet )" "A isASet --> ( F : A -> B --> F isASet )" by auto; lemma MMI_3eqtr4d: assumes A1: "φ --> A = B" and A2: "φ --> C = A" and A3: "φ --> D = B" shows "φ --> C = D" using prems by auto lemma MMI_3coml: assumes A1: "( φ ∧ ψ ∧ chi ) --> th" shows "( ψ ∧ chi ∧ φ ) --> th" using prems by auto; lemma MMI_sylan: assumes A1: "( φ ∧ ψ ) --> chi" and A2: "th --> φ" shows "( th ∧ ψ ) --> chi" using prems by auto; lemma MMI_3impa: assumes A1: "( ( φ ∧ ψ ) ∧ chi ) --> th" shows "( φ ∧ ψ ∧ chi ) --> th" using prems by auto; lemma MMI_3adant2: assumes A1: "( φ ∧ ψ ) --> chi" shows "( φ ∧ th ∧ ψ ) --> chi" using prems by auto; lemma MMI_3adant1: assumes A1: "( φ ∧ ψ ) --> chi" shows "( th ∧ φ ∧ ψ ) --> chi" using prems by auto; lemma (in MMIsar0) MMI_opreq12d: assumes A1: "φ --> A = B" and A2: "φ --> C = D" shows "φ --> ( A \<ca> C ) = ( B \<ca> D )" "φ --> ( A · C ) = ( B · D )" "φ --> ( A \<cs> C ) = ( B \<cs> D )" "φ --> ( A \<cdiv> C ) = ( B \<cdiv> D )" using prems by auto; lemma MMI_mp2an: assumes A1: "φ" and A2: "ψ" and A3: "( φ ∧ ψ ) --> chi" shows "chi" using prems by auto; lemma MMI_mp3an: assumes A1: "φ" and A2: "ψ" and A3: "ch" and A4: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "ϑ" using prems by auto lemma MMI_eqeltrr: assumes A1: "A = B" and A2: "A ∈ C" shows "B ∈ C" using prems by auto lemma MMI_eqtr: assumes A1: "A = B" and A2: "B = C" shows "A = C" using prems by auto; (*********************10-20 ******************************************) lemma MMI_impbi: assumes A1: "φ --> ψ" and A2: "ψ --> φ" shows "φ <-> ψ" proof; assume "φ" with A1 show "ψ" by simp; next assume "ψ" with A2 show "φ" by simp; qed; lemma MMI_mp3an3: assumes A1: "ch" and A2: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( φ ∧ ψ ) --> ϑ" using prems by auto; lemma MMI_eqeq12d: assumes A1: "φ --> A = B" and A2: "φ --> C = D" shows "φ --> ( A = C <-> B = D )" using prems by auto lemma MMI_mpan2: assumes A1: "ψ" and A2: "( φ ∧ ψ ) --> ch" shows "φ --> ch" using prems by auto; lemma (in MMIsar0) MMI_opreq2: shows "A = B --> ( C \<ca> A ) = ( C \<ca> B )" "A = B --> ( C · A ) = ( C · B )" "A = B --> ( C \<cs> A ) = ( C \<cs> B )" "A = B --> ( C \<cdiv> A ) = ( C \<cdiv> B )" by auto; lemma MMI_syl5bir: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ --> ch" shows "φ --> ( ϑ --> ψ )" using prems by auto lemma MMI_adantr: assumes A1: "φ --> ψ" shows "( φ ∧ ch ) --> ψ" using prems by auto lemma MMI_mpan: assumes A1: "φ" and A2: "( φ ∧ ψ ) --> ch" shows "ψ --> ch" using prems by auto; lemma MMI_eqeq1d: assumes A1: "φ --> A = B" shows "φ --> ( A = C <-> B = C )" using prems by auto lemma (in MMIsar0) MMI_opreq1: shows "A = B --> ( A · C ) = ( B · C )" "A = B --> ( A \<ca> C ) = ( B \<ca> C )" "A = B --> ( A \<cs> C ) = ( B \<cs> C )" "A = B --> ( A \<cdiv> C ) = ( B \<cdiv> C )" by auto; lemma MMI_syl6eq: assumes A1: "φ --> A = B" and A2: "B = C" shows "φ --> A = C" using prems by auto lemma MMI_syl6bi: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ch --> ϑ" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_imp: assumes A1: "φ --> ( ψ --> ch )" shows "( φ ∧ ψ ) --> ch" using prems by auto lemma MMI_sylibd: assumes A1: "φ --> ( ψ --> ch )" and A2: "φ --> ( ch <-> ϑ )" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_ex: assumes A1: "( φ ∧ ψ ) --> ch" shows "φ --> ( ψ --> ch )" using prems by auto lemma MMI_r19_23aiv: assumes A1: "∀x. (x ∈ A --> (φ(x) --> ψ ))" shows "( ∃ x ∈ A . φ(x) ) --> ψ" using prems by auto; lemma MMI_bitr: assumes A1: "φ <-> ψ" and A2: "ψ <-> ch" shows "φ <-> ch" using prems by auto lemma MMI_eqeq12i: assumes A1: "A = B" and A2: "C = D" shows "A = C <-> B = D" using prems by auto lemma MMI_dedth3h: assumes A1: "A = if ( φ , A , D ) --> ( ϑ <-> ta )" and A2: "B = if ( ψ , B , R ) --> ( ta <-> et )" and A3: "C = if ( ch , C , S ) --> ( et <-> ze )" and A4: "ze" shows "( φ ∧ ψ ∧ ch ) --> ϑ" using prems by auto lemma MMI_bibi1d: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ( ψ <-> ϑ ) <-> ( ch <-> ϑ ) )" using prems by auto lemma MMI_eqeq1: shows "A = B --> ( A = C <-> B = C )" by auto lemma MMI_bibi12d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> ta )" shows "φ --> ( ( ψ <-> ϑ ) <-> ( ch <-> ta ) )" using prems by auto lemma MMI_eqeq2d: assumes A1: "φ --> A = B" shows "φ --> ( C = A <-> C = B )" using prems by auto lemma MMI_eqeq2: shows "A = B --> ( C = A <-> C = B )" by auto lemma MMI_elimel: assumes A1: "B ∈ C" shows "if ( A ∈ C , A , B ) ∈ C" using prems by auto lemma MMI_3adant3: assumes A1: "( φ ∧ ψ ) --> ch" shows "( φ ∧ ψ ∧ ϑ ) --> ch" using prems by auto lemma MMI_bitr3d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ψ <-> ϑ )" shows "φ --> ( ch <-> ϑ )" using prems by auto; (****************** 20-30 add12t - peano2cn *************) lemma MMI_3eqtr3d: assumes A1: "φ --> A = B" and A2: "φ --> A = C" and A3: "φ --> B = D" shows "φ --> C = D" using prems by auto; lemma (in MMIsar0) MMI_opreq1d: assumes A1: "φ --> A = B" shows "φ --> ( A \<ca> C ) = ( B \<ca> C )" "φ --> ( A \<cs> C ) = ( B \<cs> C )" "φ --> ( A · C ) = ( B · C )" "φ --> ( A \<cdiv> C ) = ( B \<cdiv> C )" using prems by auto; lemma MMI_3com12: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( ψ ∧ φ ∧ ch ) --> ϑ" using prems by auto; lemma (in MMIsar0) MMI_opreq2d: assumes A1: "φ --> A = B" shows "φ --> ( C \<ca> A ) = ( C \<ca> B )" "φ --> ( C \<cs> A ) = ( C \<cs> B )" "φ --> ( C · A ) = ( C · B )" "φ --> ( C \<cdiv> A ) = ( C \<cdiv> B )" using prems by auto; lemma MMI_3com23: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( φ ∧ ch ∧ ψ ) --> ϑ" using prems by auto; lemma MMI_3expa: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" using prems by auto; lemma MMI_adantrr: assumes A1: "( φ ∧ ψ ) --> ch" shows "( φ ∧ ( ψ ∧ ϑ ) ) --> ch" using prems by auto; lemma MMI_3expb: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( φ ∧ ( ψ ∧ ch ) ) --> ϑ" using prems by auto; lemma MMI_an4s: assumes A1: "( ( φ ∧ ψ ) ∧ ( ch ∧ ϑ ) ) --> τ" shows "( ( φ ∧ ch ) ∧ ( ψ ∧ ϑ ) ) --> τ" using prems by auto; lemma MMI_eqtrd: assumes A1: "φ --> A = B" and A2: "φ --> B = C" shows "φ --> A = C" using prems by auto; lemma MMI_ad2ant2l: assumes A1: "( φ ∧ ψ ) --> ch" shows "( ( ϑ ∧ φ ) ∧ ( τ ∧ ψ ) ) --> ch" using prems by auto; lemma MMI_pm3_2i: assumes A1: "φ" and A2: "ψ" shows "φ ∧ ψ" using prems by auto; lemma (in MMIsar0) MMI_opreq2i: assumes A1: "A = B" shows "( C \<ca> A ) = ( C \<ca> B )" "( C \<cs> A ) = ( C \<cs> B )" "( C · A ) = ( C · B )" using prems by auto; (************31,33 peano2re, negeu, subval ******************************) lemma MMI_mpbir2an: assumes A1: "φ <-> ( ψ ∧ ch )" and A2: "ψ" and A3: "ch" shows "φ" using prems by auto; lemma MMI_reu4: assumes A1: "∀x y. x = y --> ( φ(x) <-> ψ(y) )" shows "( ∃! x . x ∈ A ∧ φ(x) ) <-> ( ( ∃ x ∈ A . φ(x) ) ∧ ( ∀ x ∈ A . ∀ y ∈ A . ( ( φ(x) ∧ ψ(y) ) --> x = y ) ) )" using prems by auto; lemma MMI_risset: shows "A ∈ B <-> ( ∃ x ∈ B . x = A )" by auto; lemma MMI_sylib: assumes A1: "φ --> ψ" and A2: "ψ <-> ch" shows "φ --> ch" using prems by auto; lemma MMI_mp3an13: assumes A1: "φ" and A2: "ch" and A3: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "ψ --> ϑ" using prems by auto; lemma MMI_eqcomd: assumes A1: "φ --> A = B" shows "φ --> B = A" using prems by auto; lemma MMI_sylan9eqr: assumes A1: "φ --> A = B" and A2: "ψ --> B = C" shows "( ψ ∧ φ ) --> A = C" using prems by auto; lemma MMI_exp32: assumes A1: "( φ ∧ ( ψ ∧ ch ) ) --> ϑ" shows "φ --> ( ψ --> ( ch --> ϑ ) )" using prems by auto; lemma MMI_impcom: assumes A1: "φ --> ( ψ --> ch )" shows "( ψ ∧ φ ) --> ch" using prems by auto; lemma MMI_a1d: assumes A1: "φ --> ψ" shows "φ --> ( ch --> ψ )" using prems by auto; lemma MMI_r19_21aiv: assumes A1: "∀x. φ --> ( x ∈ A --> ψ(x) )" shows "φ --> ( ∀ x ∈ A . ψ(x) )" using prems by auto; lemma MMI_r19_22: shows "( ∀ x ∈ A . ( φ(x) --> ψ(x) ) ) --> ( ( ∃ x ∈ A . φ(x) ) --> ( ∃ x ∈ A . ψ(x) ) )" by auto; lemma MMI_syl6: assumes A1: "φ --> ( ψ --> ch )" and A2: "ch --> ϑ" shows "φ --> ( ψ --> ϑ )" using prems by auto; lemma MMI_mpid: assumes A1: "φ --> ch" and A2: "φ --> ( ψ --> ( ch --> ϑ ) )" shows "φ --> ( ψ --> ϑ )" using prems by auto; lemma MMI_eqtr3t: shows "( A = C ∧ B = C ) --> A = B" by auto; lemma MMI_syl5bi: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ --> ψ" shows "φ --> ( ϑ --> ch )" using prems by auto; lemma MMI_mp3an1: assumes A1: "φ" and A2: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( ψ ∧ ch ) --> ϑ" using prems by auto; lemma MMI_rgen2: assumes A1: "∀x y. ( x ∈ A ∧ y ∈ A ) --> φ(x,y)" shows "∀ x ∈ A . ∀ y ∈ A . φ(x,y)" using prems by auto; (*************** 35-37 negeq-negeqd **************************) lemma MMI_ax_17: shows "φ --> (∀x. φ)" by simp; lemma MMI_3eqtr4g: assumes A1: "φ --> A = B" and A2: "C = A" and A3: "D = B" shows "φ --> C = D" using prems by auto; (*** hbneq ***************************************************) lemma MMI_3imtr4: assumes A1: "φ --> ψ" and A2: "ch <-> φ" and A3: "ϑ <-> ψ" shows "ch --> ϑ" using prems by auto (*lemma MMI_hbopr: assumes A1: "y ∈ A --> ( ∀ x . y ∈ A )" and A2: "y ∈ F --> ( ∀ x . y ∈ F )" and A3: "y ∈ B --> ( ∀ x . y ∈ B )" shows "y ∈ ( A F B ) --> ( ∀ x . y ∈ ( A F B ) )" using prems by auto no way to translate hopefuly we will manage to avoid using this*) lemma MMI_eleq2i: assumes A1: "A = B" shows "C ∈ A <-> C ∈ B" using prems by auto lemma MMI_albii: assumes A1: "φ <-> ψ" shows "( ∀ x . φ ) <-> ( ∀ x . ψ )" using prems by auto; (*************subcl-subadd **********************************) lemma MMI_reucl: shows "( ∃! x . x ∈ A ∧ φ(x) ) --> \<Union> { x ∈ A . φ(x) } ∈ A" proof; assume A1: "∃! x . x ∈ A ∧ φ(x)" then obtain a where I: "a∈A" and "φ(a)" by auto; with A1 have "{ x ∈ A . φ(x) } = {a}" by blast; with I show " \<Union> { x ∈ A . φ(x) } ∈ A" by simp; qed; lemma MMI_dedth2h: assumes A1: "A = if ( φ , A , C ) --> ( ch <-> ϑ )" and A2: "B = if ( ψ , B , D ) --> ( ϑ <-> τ )" and A3: "τ" shows "( φ ∧ ψ ) --> ch" using prems by auto lemma MMI_eleq1d: assumes A1: "φ --> A = B" shows "φ --> ( A ∈ C <-> B ∈ C )" using prems by auto lemma MMI_syl5eqel: assumes A1: "φ --> A ∈ B" and A2: "C = A" shows "φ --> C ∈ B" using prems by auto (** a lemma in ZF that roughly corresponds to Mematamath euuni **) lemma IML_eeuni: assumes A1: "x ∈ A" and A2: "∃! t . t ∈ A ∧ φ(t)" shows "φ(x) <-> \<Union> { x ∈ A . φ(x) } = x" proof; assume "φ(x)" with A1 A2 show "\<Union> { x ∈ A . φ(x) } = x" by auto; next assume A3: "\<Union> { x ∈ A . φ(x) } = x" from A2 obtain y where "y∈A" and I: "φ(y)" by auto; with A2 A3 have "x = y" by auto; with I show "φ(x)" by simp; qed; lemma MMI_reuuni1: shows "( x ∈ A ∧ ( ∃! x . x ∈ A ∧ φ(x) ) ) --> ( φ(x) <-> \<Union> { x ∈ A . φ(x) } = x )" using IML_eeuni by simp; lemma MMI_eqeq1i: assumes A1: "A = B" shows "A = C <-> B = C" using prems by auto lemma MMI_syl6rbbr: assumes A1: "∀x. φ(x) --> ( ψ(x) <-> ch(x) )" and A2: "∀x. ϑ(x) <-> ch(x)" shows "∀ x. φ(x) --> ( ϑ(x) <-> ψ(x) )" using prems by auto; (*** the original version of MMI_syl6rbbr without quantifiers **********) lemma MMI_syl6rbbrA: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ <-> ch" shows "φ --> ( ϑ <-> ψ )" using prems by auto; lemma MMI_vtoclga: assumes A1: "∀x. x = A --> ( φ(x) <-> ψ)" and A2: "∀x. x ∈ B --> φ(x)" shows "A ∈ B --> ψ" using prems by auto; (************ subsub23 - addsubt ******************) lemma MMI_3bitr4: assumes A1: "φ <-> ψ" and A2: "ch <-> φ" and A3: "ϑ <-> ψ" shows "ch <-> ϑ" using prems by auto lemma MMI_mpbii: assumes Amin: "ψ" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ch" using prems by auto lemma MMI_eqid: shows "A = A" by auto lemma MMI_pm3_27: shows "( φ ∧ ψ ) --> ψ" by auto lemma MMI_pm3_26: shows "( φ ∧ ψ ) --> φ" by auto lemma MMI_ancoms: assumes A1: "( φ ∧ ψ ) --> ch" shows "( ψ ∧ φ ) --> ch" using prems by auto lemma MMI_syl3anc: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" and A2: "τ --> φ" and A3: "τ --> ψ" and A4: "τ --> ch" shows "τ --> ϑ" using prems by auto lemma MMI_syl5eq: assumes A1: "φ --> A = B" and A2: "C = A" shows "φ --> C = B" using prems by auto lemma MMI_eqcomi: assumes A1: "A = B" shows "B = A" using prems by auto lemma MMI_3eqtr: assumes A1: "A = B" and A2: "B = C" and A3: "C = D" shows "A = D" using prems by auto lemma MMI_mpbir: assumes Amin: "ψ" and Amaj: "φ <-> ψ" shows "φ" using prems by auto lemma MMI_syl3an3: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" and A2: "τ --> ch" shows "( φ ∧ ψ ∧ τ ) --> ϑ" using prems by auto lemma MMI_3eqtrd: assumes A1: "φ --> A = B" and A2: "φ --> B = C" and A3: "φ --> C = D" shows "φ --> A = D" using prems by auto lemma MMI_syl5: assumes A1: "φ --> ( ψ --> ch )" and A2: "ϑ --> ψ" shows "φ --> ( ϑ --> ch )" using prems by auto lemma MMI_exp3a: assumes A1: "φ --> ( ( ψ ∧ ch ) --> ϑ )" shows "φ --> ( ψ --> ( ch --> ϑ ) )" using prems by auto lemma MMI_com12: assumes A1: "φ --> ( ψ --> ch )" shows "ψ --> ( φ --> ch )" using prems by auto lemma MMI_3imp: assumes A1: "φ --> ( ψ --> ( ch --> ϑ ) )" shows "( φ ∧ ψ ∧ ch ) --> ϑ" using prems by auto; (********* addsub12t-subidt *************) lemma MMI_3eqtr3: assumes A1: "A = B" and A2: "A = C" and A3: "B = D" shows "C = D" using prems by auto lemma (in MMIsar0) MMI_opreq1i: assumes A1: "A = B" shows "( A \<ca> C ) = ( B \<ca> C )" "( A \<cs> C ) = ( B \<cs> C )" "( A \<cdiv> C ) = ( B \<cdiv> C )" "( A · C ) = ( B · C )" using prems by auto; lemma MMI_eqtr3: assumes A1: "A = B" and A2: "A = C" shows "B = C" using prems by auto lemma MMI_dedth: assumes A1: "A = if ( φ , A , B ) --> ( ψ <-> ch )" and A2: "ch" shows "φ --> ψ" using prems by auto lemma MMI_id: shows "φ --> φ" by auto lemma MMI_eqtr3d: assumes A1: "φ --> A = B" and A2: "φ --> A = C" shows "φ --> B = C" using prems by auto lemma MMI_sylan2: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ϑ --> ψ" shows "( φ ∧ ϑ ) --> ch" using prems by auto lemma MMI_adantl: assumes A1: "φ --> ψ" shows "( ch ∧ φ ) --> ψ" using prems by auto lemma (in MMIsar0) MMI_opreq12: shows "( A = B ∧ C = D ) --> ( A \<ca> C ) = ( B \<ca> D )" "( A = B ∧ C = D ) --> ( A \<cs> C ) = ( B \<cs> D )" by auto lemma MMI_anidms: assumes A1: "( φ ∧ φ ) --> ψ" shows "φ --> ψ" using prems by auto; (******** subid1t-neg11 *************************) lemma MMI_anabsan2: assumes A1: "( φ ∧ ( ψ ∧ ψ ) ) --> ch" shows "( φ ∧ ψ ) --> ch" using prems by auto lemma MMI_3simp2: shows "( φ ∧ ψ ∧ ch ) --> ψ" by auto lemma MMI_3simp3: shows "( φ ∧ ψ ∧ ch ) --> ch" by auto lemma MMI_sylbir: assumes A1: "ψ <-> φ" and A2: "ψ --> ch" shows "φ --> ch" using prems by auto lemma MMI_3eqtr3g: assumes A1: "φ --> A = B" and A2: "A = C" and A3: "B = D" shows "φ --> C = D" using prems by auto lemma MMI_3bitr: assumes A1: "φ <-> ψ" and A2: "ψ <-> ch" and A3: "ch <-> ϑ" shows "φ <-> ϑ" using prems by auto; (************ negcon1-subeq0t**************) lemma MMI_3bitr3: assumes A1: "φ <-> ψ" and A2: "φ <-> ch" and A3: "ψ <-> ϑ" shows "ch <-> ϑ" using prems by auto lemma MMI_eqcom: shows "A = B <-> B = A" by auto lemma MMI_syl6bb: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ch <-> ϑ" shows "φ --> ( ψ <-> ϑ )" using prems by auto lemma MMI_3bitr3d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ψ <-> ϑ )" and A3: "φ --> ( ch <-> τ )" shows "φ --> ( ϑ <-> τ )" using prems by auto lemma MMI_syl3an2: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" and A2: "τ --> ψ" shows "( φ ∧ τ ∧ ch ) --> ϑ" using prems by auto; (********neg0-0re ********************) lemma MMI_df_rex: shows "( ∃ x ∈ A . φ(x) ) <-> ( ∃ x . ( x ∈ A ∧ φ(x) ) )" by auto; lemma MMI_mpbi: assumes Amin: "φ" and Amaj: "φ <-> ψ" shows "ψ" using prems by auto lemma MMI_mp3an12: assumes A1: "φ" and A2: "ψ" and A3: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "ch --> ϑ" using prems by auto lemma MMI_syl5bb: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ <-> ψ" shows "φ --> ( ϑ <-> ch )" using prems by auto lemma MMI_eleq1a: shows "A ∈ B --> ( C = A --> C ∈ B )" by auto lemma MMI_sylbird: assumes A1: "φ --> ( ch <-> ψ )" and A2: "φ --> ( ch --> ϑ )" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_19_23aiv: assumes A1: "∀x. φ(x) --> ψ" shows "( ∃ x . φ(x) ) --> ψ" using prems by auto; lemma MMI_eqeltrrd: assumes A1: "φ --> A = B" and A2: "φ --> A ∈ C" shows "φ --> B ∈ C" using prems by auto lemma MMI_syl2an: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ϑ --> φ" and A3: "τ --> ψ" shows "( ϑ ∧ τ ) --> ch" using prems by auto; (*********** mulid2t-muladdt *********************) lemma MMI_adantrl: assumes A1: "( φ ∧ ψ ) --> ch" shows "( φ ∧ ( ϑ ∧ ψ ) ) --> ch" using prems by auto lemma MMI_ad2ant2r: assumes A1: "( φ ∧ ψ ) --> ch" shows "( ( φ ∧ ϑ ) ∧ ( ψ ∧ τ ) ) --> ch" using prems by auto lemma MMI_adantll: assumes A1: "( φ ∧ ψ ) --> ch" shows "( ( ϑ ∧ φ ) ∧ ψ ) --> ch" using prems by auto lemma MMI_anandirs: assumes A1: "( ( φ ∧ ch ) ∧ ( ψ ∧ ch ) ) --> τ" shows "( ( φ ∧ ψ ) ∧ ch ) --> τ" using prems by auto lemma MMI_adantlr: assumes A1: "( φ ∧ ψ ) --> ch" shows "( ( φ ∧ ϑ ) ∧ ψ ) --> ch" using prems by auto lemma MMI_an42s: assumes A1: "( ( φ ∧ ψ ) ∧ ( ch ∧ ϑ ) ) --> τ" shows "( ( φ ∧ ch ) ∧ ( ϑ ∧ ψ ) ) --> τ" using prems by auto; (******* muladd11t-muladd*****************************) lemma MMI_mp3an2: assumes A1: "ψ" and A2: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( φ ∧ ch ) --> ϑ" using prems by auto; (********** subdit-mulneg1 **************************) lemma MMI_3simp1: shows "( φ ∧ ψ ∧ ch ) --> φ" by auto lemma MMI_3impb: assumes A1: "( φ ∧ ( ψ ∧ ch ) ) --> ϑ" shows "( φ ∧ ψ ∧ ch ) --> ϑ" using prems by auto lemma MMI_mpbird: assumes Amin: "φ --> ch" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ψ" using prems by auto lemma (in MMIsar0) MMI_opreq12i: assumes A1: "A = B" and A2: "C = D" shows "( A \<ca> C ) = ( B \<ca> D )" "( A · C ) = ( B · D )" "( A \<cs> C ) = ( B \<cs> D )" using prems by auto lemma MMI_3eqtr4: assumes A1: "A = B" and A2: "C = A" and A3: "D = B" shows "C = D" using prems by auto; (*********mulneg2-negdit****************) lemma MMI_eqtr4d: assumes A1: "φ --> A = B" and A2: "φ --> C = B" shows "φ --> A = C" using prems by auto; (**** negdi2t - nnncan1t ***************) lemma MMI_3eqtr3rd: assumes A1: "φ --> A = B" and A2: "φ --> A = C" and A3: "φ --> B = D" shows "φ --> D = C" using prems by auto lemma MMI_sylanc: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ϑ --> φ" and A3: "ϑ --> ψ" shows "ϑ --> ch" using prems by auto; (*** nnncan2t-pnpcan2t *******************) lemma MMI_anim12i: assumes A1: "φ --> ψ" and A2: "ch --> ϑ" shows "( φ ∧ ch ) --> ( ψ ∧ ϑ )" using prems by auto lemma (in MMIsar0) MMI_opreqan12d: assumes A1: "φ --> A = B" and A2: "ψ --> C = D" shows "( φ ∧ ψ ) --> ( A \<ca> C ) = ( B \<ca> D )" "( φ ∧ ψ ) --> ( A \<cs> C ) = ( B \<cs> D )" "( φ ∧ ψ ) --> ( A · C ) = ( B · D )" using prems by auto lemma MMI_sylanr2: assumes A1: "( φ ∧ ( ψ ∧ ch ) ) --> ϑ" and A2: "τ --> ch" shows "( φ ∧ ( ψ ∧ τ ) ) --> ϑ" using prems by auto lemma MMI_sylanl2: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" and A2: "τ --> ψ" shows "( ( φ ∧ τ ) ∧ ch ) --> ϑ" using prems by auto lemma MMI_ancom2s: assumes A1: "( φ ∧ ( ψ ∧ ch ) ) --> ϑ" shows "( φ ∧ ( ch ∧ ψ ) ) --> ϑ" using prems by auto lemma MMI_anandis: assumes A1: "( ( φ ∧ ψ ) ∧ ( φ ∧ ch ) ) --> τ" shows "( φ ∧ ( ψ ∧ ch ) ) --> τ" using prems by auto lemma MMI_sylan9eq: assumes A1: "φ --> A = B" and A2: "ψ --> B = C" shows "( φ ∧ ψ ) --> A = C" using prems by auto; (******pnncant-mul0ort**********************) lemma MMI_keephyp: assumes A1: "A = if ( φ , A , B ) --> ( ψ <-> ϑ )" and A2: "B = if ( φ , A , B ) --> ( ch <-> ϑ )" and A3: "ψ" and A4: "ch" shows "ϑ" proof - { assume "φ" with A1 A3 have "ϑ" by simp } moreover { assume "¬φ" with A2 A4 have "ϑ" by simp } ultimately show "ϑ" by auto; qed; lemma MMI_eleq1: shows "A = B --> ( A ∈ C <-> B ∈ C )" by auto lemma MMI_pm4_2i: shows "φ --> ( ψ <-> ψ )" by auto lemma MMI_3anbi123d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> τ )" and A3: "φ --> ( η <-> ζ )" shows "φ --> ( ( ψ ∧ ϑ ∧ η ) <-> ( ch ∧ τ ∧ ζ ) )" using prems by auto lemma MMI_imbi12d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> τ )" shows "φ --> ( ( ψ --> ϑ ) <-> ( ch --> τ ) )" using prems by auto lemma MMI_bitrd: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ch <-> ϑ )" shows "φ --> ( ψ <-> ϑ )" using prems by auto lemma MMI_df_ne: shows "( A ≠ B <-> ¬ ( A = B ) )" by auto lemma MMI_3pm3_2i: assumes A1: "φ" and A2: "ψ" and A3: "ch" shows "φ ∧ ψ ∧ ch" using prems by auto lemma MMI_eqeq2i: assumes A1: "A = B" shows "C = A <-> C = B" using prems by auto lemma MMI_syl5bbr: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ψ <-> ϑ" shows "φ --> ( ϑ <-> ch )" using prems by auto lemma MMI_biimpd: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ψ --> ch )" using prems by auto lemma MMI_orrd: assumes A1: "φ --> ( ¬ ( ψ ) --> ch )" shows "φ --> ( ψ ∨ ch )" using prems by auto lemma MMI_jaoi: assumes A1: "φ --> ψ" and A2: "ch --> ψ" shows "( φ ∨ ch ) --> ψ" using prems by auto lemma MMI_oridm: shows "( φ ∨ φ ) <-> φ" by auto lemma MMI_orbi1d: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ( ψ ∨ ϑ ) <-> ( ch ∨ ϑ ) )" using prems by auto lemma MMI_orbi2d: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ( ϑ ∨ ψ ) <-> ( ϑ ∨ ch ) )" using prems by auto; (********* muln0bt-receu ******************) lemma MMI_3bitr4g: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ <-> ψ" and A3: "τ <-> ch" shows "φ --> ( ϑ <-> τ )" using prems by auto lemma MMI_negbid: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ¬ ( ψ ) <-> ¬ ( ch ) )" using prems by auto lemma MMI_ioran: shows "¬ ( ( φ ∨ ψ ) ) <-> ( ¬ ( φ ) ∧ ¬ ( ψ ) )" by auto lemma MMI_syl6rbb: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ch <-> ϑ" shows "φ --> ( ϑ <-> ψ )" using prems by auto lemma MMI_anbi12i: assumes A1: "φ <-> ψ" and A2: "ch <-> ϑ" shows "( φ ∧ ch ) <-> ( ψ ∧ ϑ )" using prems by auto; (*******divmul-divclz ******************) lemma MMI_keepel: assumes A1: "A ∈ C" and A2: "B ∈ C" shows "if ( φ , A , B ) ∈ C" using prems by auto lemma MMI_imbi2d: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ( ϑ --> ψ ) <-> ( ϑ --> ch ) )" using prems by auto; (** this was recognized as known , although not proven yet**) lemma MMI_eqeltr: assumes "A = B" and "B ∈ C" shows "A ∈ C" using prems by auto; (*****divclt-divcan2t*******************) lemma MMI_3impia: assumes A1: "( φ ∧ ψ ) --> ( ch --> ϑ )" shows "( φ ∧ ψ ∧ ch ) --> ϑ" using prems by auto; (********* divne0bt-divrecz************) lemma MMI_eqneqd: assumes A1: "φ --> ( A = B <-> C = D )" shows "φ --> ( A ≠ B <-> C ≠ D )" using prems by auto lemma MMI_3ad2ant2: assumes A1: "φ --> ch" shows "( ψ ∧ φ ∧ ϑ ) --> ch" using prems by auto lemma MMI_mp3anl3: assumes A1: "ch" and A2: "( ( φ ∧ ψ ∧ ch ) ∧ ϑ ) --> τ" shows "( ( φ ∧ ψ ) ∧ ϑ ) --> τ" using prems by auto lemma MMI_bitr4d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> ch )" shows "φ --> ( ψ <-> ϑ )" using prems by auto lemma MMI_neeq1d: assumes A1: "φ --> A = B" shows "φ --> ( A ≠ C <-> B ≠ C )" using prems by auto; (*******divrect-div23***********************) lemma MMI_3anim123i: assumes A1: "φ --> ψ" and A2: "ch --> ϑ" and A3: "τ --> η" shows "( φ ∧ ch ∧ τ ) --> ( ψ ∧ ϑ ∧ η )" using prems by auto lemma MMI_3exp: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "φ --> ( ψ --> ( ch --> ϑ ) )" using prems by auto lemma MMI_exp4a: assumes A1: "φ --> ( ψ --> ( ( ch ∧ ϑ ) --> τ ) )" shows "φ --> ( ψ --> ( ch --> ( ϑ --> τ ) ) )" using prems by auto lemma MMI_3imp1: assumes A1: "φ --> ( ψ --> ( ch --> ( ϑ --> τ ) ) )" shows "( ( φ ∧ ψ ∧ ch ) ∧ ϑ ) --> τ" using prems by auto lemma MMI_anim1i: assumes A1: "φ --> ψ" shows "( φ ∧ ch ) --> ( ψ ∧ ch )" using prems by auto lemma MMI_3adantl1: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" shows "( ( τ ∧ φ ∧ ψ ) ∧ ch ) --> ϑ" using prems by auto lemma MMI_3adantl2: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" shows "( ( φ ∧ τ ∧ ψ ) ∧ ch ) --> ϑ" using prems by auto lemma MMI_3comr: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" shows "( ch ∧ φ ∧ ψ ) --> ϑ" using prems by auto; (***********divdirz-div11t*************************) lemma MMI_bitr3: assumes A1: "ψ <-> φ" and A2: "ψ <-> ch" shows "φ <-> ch" using prems by auto lemma MMI_anbi12d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> τ )" shows "φ --> ( ( ψ ∧ ϑ ) <-> ( ch ∧ τ ) )" using prems by auto lemma MMI_pm3_26i: assumes A1: "φ ∧ ψ" shows "φ" using prems by auto lemma MMI_pm3_27i: assumes A1: "φ ∧ ψ" shows "ψ" using prems by auto; (*********dividt-divsubdirt************************) lemma MMI_anabsan: assumes A1: "( ( φ ∧ φ ) ∧ ψ ) --> ch" shows "( φ ∧ ψ ) --> ch" using prems by auto lemma MMI_3eqtr4rd: assumes A1: "φ --> A = B" and A2: "φ --> C = A" and A3: "φ --> D = B" shows "φ --> D = C" using prems by auto lemma MMI_syl3an1: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" and A2: "τ --> φ" shows "( τ ∧ ψ ∧ ch ) --> ϑ" using prems by auto lemma MMI_syl3anl2: assumes A1: "( ( φ ∧ ψ ∧ ch ) ∧ ϑ ) --> τ" and A2: "η --> ψ" shows "( ( φ ∧ η ∧ ch ) ∧ ϑ ) --> τ" using prems by auto; (******* recrect-divmuldiv ****************) lemma MMI_jca: assumes A1: "φ --> ψ" and A2: "φ --> ch" shows "φ --> ( ψ ∧ ch )" using prems by auto lemma MMI_3ad2ant3: assumes A1: "φ --> ch" shows "( ψ ∧ ϑ ∧ φ ) --> ch" using prems by auto lemma MMI_anim2i: assumes A1: "φ --> ψ" shows "( ch ∧ φ ) --> ( ch ∧ ψ )" using prems by auto lemma MMI_ancom: shows "( φ ∧ ψ ) <-> ( ψ ∧ φ )" by auto lemma MMI_anbi1i: assumes Aaa: "φ <-> ψ" shows "( φ ∧ ch ) <-> ( ψ ∧ ch )" using prems by auto lemma MMI_an42: shows "( ( φ ∧ ψ ) ∧ ( ch ∧ ϑ ) ) <-> ( ( φ ∧ ch ) ∧ ( ϑ ∧ ψ ) )" by auto lemma MMI_sylanb: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ϑ <-> φ" shows "( ϑ ∧ ψ ) --> ch" using prems by auto lemma MMI_an4: shows "( ( φ ∧ ψ ) ∧ ( ch ∧ ϑ ) ) <-> ( ( φ ∧ ch ) ∧ ( ψ ∧ ϑ ) )" by auto lemma MMI_syl2anb: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ϑ <-> φ" and A3: "τ <-> ψ" shows "( ϑ ∧ τ ) --> ch" using prems by auto lemma MMI_eqtr2d: assumes A1: "φ --> A = B" and A2: "φ --> B = C" shows "φ --> C = A" using prems by auto lemma MMI_sylbid: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ch --> ϑ )" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_sylanl1: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" and A2: "τ --> φ" shows "( ( τ ∧ ψ ) ∧ ch ) --> ϑ" using prems by auto lemma MMI_sylan2b: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ϑ <-> ψ" shows "( φ ∧ ϑ ) --> ch" using prems by auto lemma MMI_pm3_22: shows "( φ ∧ ψ ) --> ( ψ ∧ φ )" by auto lemma MMI_ancli: assumes A1: "φ --> ψ" shows "φ --> ( φ ∧ ψ )" using prems by auto lemma MMI_ad2antlr: assumes A1: "φ --> ψ" shows "( ( ch ∧ φ ) ∧ ϑ ) --> ψ" using prems by auto lemma MMI_biimpa: assumes A1: "φ --> ( ψ <-> ch )" shows "( φ ∧ ψ ) --> ch" using prems by auto lemma MMI_sylan2i: assumes A1: "φ --> ( ( ψ ∧ ch ) --> ϑ )" and A2: "τ --> ch" shows "φ --> ( ( ψ ∧ τ ) --> ϑ )" using prems by auto lemma MMI_3jca: assumes A1: "φ --> ψ" and A2: "φ --> ch" and A3: "φ --> ϑ" shows "φ --> ( ψ ∧ ch ∧ ϑ )" using prems by auto lemma MMI_com34: assumes A1: "φ --> ( ψ --> ( ch --> ( ϑ --> τ ) ) )" shows "φ --> ( ψ --> ( ϑ --> ( ch --> τ ) ) )" using prems by auto lemma MMI_imp43: assumes A1: "φ --> ( ψ --> ( ch --> ( ϑ --> τ ) ) )" shows "( ( φ ∧ ψ ) ∧ ( ch ∧ ϑ ) ) --> τ" using prems by auto lemma MMI_3anass: shows "( φ ∧ ψ ∧ ch ) <-> ( φ ∧ ( ψ ∧ ch ) )" by auto; (************ divmul13-redivclt*************) lemma MMI_3eqtr4r: assumes A1: "A = B" and A2: "C = A" and A3: "D = B" shows "D = C" using prems by auto lemma MMI_jctl: assumes A1: "ψ" shows "φ --> ( ψ ∧ φ )" using prems by auto lemma MMI_sylibr: assumes A1: "φ --> ψ" and A2: "ch <-> ψ" shows "φ --> ch" using prems by auto lemma MMI_mpanl1: assumes A1: "φ" and A2: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" shows "( ψ ∧ ch ) --> ϑ" using prems by auto lemma MMI_a1i: assumes A1: "φ" shows "ψ --> φ" using prems by auto lemma (in MMIsar0) MMI_opreqan12rd: assumes A1: "φ --> A = B" and A2: "ψ --> C = D" shows "( ψ ∧ φ ) --> ( A \<ca> C ) = ( B \<ca> D )" "( ψ ∧ φ ) --> ( A · C ) = ( B · D )" "( ψ ∧ φ ) --> ( A \<cs> C ) = ( B \<cs> D )" "( ψ ∧ φ ) --> ( A \<cdiv> C ) = ( B \<cdiv> D )" using prems by auto lemma MMI_3adantl3: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" shows "( ( φ ∧ ψ ∧ τ ) ∧ ch ) --> ϑ" using prems by auto lemma MMI_sylbi: assumes A1: "φ <-> ψ" and A2: "ψ --> ch" shows "φ --> ch" using prems by auto; (*******pnfnre,minfnre*******************) lemma MMI_eirr: shows "¬ ( A ∈ A )" by (rule mem_not_refl); lemma MMI_eleq1i: assumes A1: "A = B" shows "A ∈ C <-> B ∈ C" using prems by auto lemma MMI_mtbir: assumes A1: "¬ ( ψ )" and A2: "φ <-> ψ" shows "¬ ( φ )" using prems by auto lemma MMI_mto: assumes A1: "¬ ( ψ )" and A2: "φ --> ψ" shows "¬ ( φ )" using prems by auto lemma MMI_df_nel: shows "( A ∉ B <-> ¬ ( A ∈ B ) )" by auto lemma MMI_snid: assumes A1: "A isASet" shows "A ∈ { A }" using prems by auto lemma MMI_en2lp: shows "¬ ( A ∈ B ∧ B ∈ A )" proof; assume A1: "A ∈ B ∧ B ∈ A" then have "A ∈ B" by simp; moreover { assume "¬ (¬ ( A ∈ B ∧ B ∈ A ))" then have "B∈A" by auto;} ultimately have "¬( A ∈ B ∧ B ∈ A )" by (rule mem_asym); with A1 show False by simp; qed; lemma MMI_imnan: shows "( φ --> ¬ ( ψ ) ) <-> ¬ ( ( φ ∧ ψ ) )" by auto; (****ressxr-ltxrltt*******************************) lemma MMI_sseqtr4: assumes A1: "A ⊆ B" and A2: "C = B" shows "A ⊆ C" using prems by auto lemma MMI_ssun1: shows "A ⊆ ( A ∪ B )" by auto lemma MMI_ibar: shows "φ --> ( ψ <-> ( φ ∧ ψ ) )" by auto lemma MMI_mtbiri: assumes Amin: "¬ ( ch )" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ¬ ( ψ )" using prems by auto lemma MMI_con2i: assumes Aa: "φ --> ¬ ( ψ )" shows "ψ --> ¬ ( φ )" using prems by auto lemma MMI_intnand: assumes A1: "φ --> ¬ ( ψ )" shows "φ --> ¬ ( ( ch ∧ ψ ) )" using prems by auto lemma MMI_intnanrd: assumes A1: "φ --> ¬ ( ψ )" shows "φ --> ¬ ( ( ψ ∧ ch ) )" using prems by auto lemma MMI_biorf: shows "¬ ( φ ) --> ( ψ <-> ( φ ∨ ψ ) )" by auto lemma MMI_bitr2d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ch <-> ϑ )" shows "φ --> ( ϑ <-> ψ )" using prems by auto lemma MMI_orass: shows "( ( φ ∨ ψ ) ∨ ch ) <-> ( φ ∨ ( ψ ∨ ch ) )" by auto lemma MMI_orcom: shows "( φ ∨ ψ ) <-> ( ψ ∨ φ )" by auto; (************** axlttri,axlttrn****************) (* note these are not really axioms of complex numbers, just extensions of pre_axlttri and pre_axlttrn that are assumed in the context. *) lemma MMI_3bitr4d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> ψ )" and A3: "φ --> ( τ <-> ch )" shows "φ --> ( ϑ <-> τ )" using prems by auto lemma MMI_3imtr4d: assumes A1: "φ --> ( ψ --> ch )" and A2: "φ --> ( ϑ <-> ψ )" and A3: "φ --> ( τ <-> ch )" shows "φ --> ( ϑ --> τ )" using prems by auto; (**********axltadd-ltnlet*************************) lemma MMI_3impdi: assumes A1: "( ( φ ∧ ψ ) ∧ ( φ ∧ ch ) ) --> ϑ" shows "( φ ∧ ψ ∧ ch ) --> ϑ" using prems by auto lemma MMI_bi2anan9: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ --> ( τ <-> η )" shows "( φ ∧ ϑ ) --> ( ( ψ ∧ τ ) <-> ( ch ∧ η ) )" using prems by auto lemma MMI_ssel2: shows "( ( A ⊆ B ∧ C ∈ A ) --> C ∈ B )" by auto lemma MMI_an1rs: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" shows "( ( φ ∧ ch ) ∧ ψ ) --> ϑ" using prems by auto (*lemma MMI_ralbidva_original: assumes A1: "( φ ∧ x ∈ A ) --> ( ψ <-> ch )" shows "φ --> ( ( ∀ x ∈ A . ψ ) <-> ( ∀ x ∈ A . ch ) )" using prems by auto;*) lemma MMI_ralbidva: assumes A1: "∀x. ( φ ∧ x ∈ A ) --> ( ψ(x) <-> ch(x) )" shows "φ --> ( ( ∀ x ∈ A . ψ(x) ) <-> ( ∀ x ∈ A . ch(x) ) )" using prems by auto; lemma MMI_rexbidva: assumes A1: "∀x. ( φ ∧ x ∈ A ) --> ( ψ(x) <-> ch(x) )" shows "φ --> ( ( ∃ x ∈ A . ψ(x) ) <-> ( ∃ x ∈ A . ch(x) ) )" using prems by auto; lemma MMI_con2bid: assumes A1: "φ --> ( ψ <-> ¬ ( ch ) )" shows "φ --> ( ch <-> ¬ ( ψ ) )" using prems by auto; (********ltso***************************) lemma MMI_so: assumes A1: "∀x y z. ( x ∈ A ∧ y ∈ A ∧ z ∈ A ) --> ( ( 〈x,y〉 ∈ R <-> ¬ ( ( x = y ∨ 〈y, x〉 ∈ R ) ) ) ∧ ( ( 〈x, y〉 ∈ R ∧ 〈y, z〉 ∈ R ) --> 〈x, z〉 ∈ R ) )" shows "R Orders A" using prems StrictOrder_def by auto; (***********lttri2t-letri3t**********************) lemma MMI_con1bid: assumes A1: "φ --> ( ¬ ( ψ ) <-> ch )" shows "φ --> ( ¬ ( ch ) <-> ψ )" using prems by auto lemma MMI_sotrieq: shows "( (R Orders A) ∧ ( B ∈ A ∧ C ∈ A ) ) --> ( B = C <-> ¬ ( ( 〈B,C〉 ∈ R ∨ 〈C, B〉 ∈ R ) ) )" proof - { assume A1: "R Orders A" and A2: "B ∈ A ∧ C ∈ A" from A1 have "∀x y z. (x∈A ∧ y∈A ∧ z∈A) --> (〈x,y〉 ∈ R <-> ¬(x=y ∨ 〈y,x〉 ∈ R)) ∧ (〈x,y〉 ∈ R ∧ 〈y,z〉 ∈ R --> 〈x,z〉 ∈ R)" by (unfold StrictOrder_def); then have "∀x y. x∈A ∧ y∈A --> (〈x,y〉 ∈ R <-> ¬(x=y ∨ 〈y,x〉 ∈ R))" by auto; with A2 have I: "〈B,C〉 ∈ R <-> ¬(B=C ∨ 〈C,B〉 ∈ R)" by blast; then have "B = C <-> ¬ ( 〈B,C〉 ∈ R ∨ 〈C, B〉 ∈ R )" by auto; } then show "( (R Orders A) ∧ ( B ∈ A ∧ C ∈ A ) ) --> ( B = C <-> ¬ ( ( 〈B,C〉 ∈ R ∨ 〈C, B〉 ∈ R ) ) )" by simp; qed; lemma MMI_bicomd: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ch <-> ψ )" using prems by auto lemma MMI_sotrieq2: shows "( R Orders A ∧ ( B ∈ A ∧ C ∈ A ) ) --> ( B = C <-> ( ¬ ( 〈B, C〉 ∈ R ) ∧ ¬ ( 〈C, B〉 ∈ R ) ) )" using MMI_sotrieq by auto; lemma MMI_orc: shows "φ --> ( φ ∨ ψ )" by auto lemma MMI_syl6bbr: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ϑ <-> ch" shows "φ --> ( ψ <-> ϑ )" using prems by auto; (***********leloet-lelttrd*****************) lemma MMI_orbi1i: assumes A1: "φ <-> ψ" shows "( φ ∨ ch ) <-> ( ψ ∨ ch )" using prems by auto; lemma MMI_syl5rbbr: assumes A1: "φ --> ( ψ <-> ch )" and A2: "ψ <-> ϑ" shows "φ --> ( ch <-> ϑ )" using prems by auto; lemma MMI_anbi2d: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ( ϑ ∧ ψ ) <-> ( ϑ ∧ ch ) )" using prems by auto; lemma MMI_ord: assumes A1: "φ --> ( ψ ∨ ch )" shows "φ --> ( ¬ ( ψ ) --> ch )" using prems by auto; lemma MMI_impbid: assumes A1: "φ --> ( ψ --> ch )" and A2: "φ --> ( ch --> ψ )" shows "φ --> ( ψ <-> ch )" using prems by blast; lemma MMI_jcad: assumes A1: "φ --> ( ψ --> ch )" and A2: "φ --> ( ψ --> ϑ )" shows "φ --> ( ψ --> ( ch ∧ ϑ ) )" using prems by auto; lemma MMI_ax_1: shows "φ --> ( ψ --> φ )" by auto; lemma MMI_pm2_24: shows "φ --> ( ¬ ( φ ) --> ψ )" by auto; lemma MMI_imp3a: assumes A1: "φ --> ( ψ --> ( ch --> ϑ ) )" shows "φ --> ( ( ψ ∧ ch ) --> ϑ )" using prems by auto lemma (in MMIsar0) MMI_breq1: shows "A = B --> ( A \<lsq> C <-> B \<lsq> C )" "A = B --> ( A \<ls> C <-> B \<ls> C )" by auto; lemma MMI_biimprd: assumes A1: "φ --> ( ψ <-> ch )" shows "φ --> ( ch --> ψ )" using prems by auto lemma MMI_jaod: assumes A1: "φ --> ( ψ --> ch )" and A2: "φ --> ( ϑ --> ch )" shows "φ --> ( ( ψ ∨ ϑ ) --> ch )" using prems by auto lemma MMI_com23: assumes A1: "φ --> ( ψ --> ( ch --> ϑ ) )" shows "φ --> ( ch --> ( ψ --> ϑ ) )" using prems by auto lemma (in MMIsar0) MMI_breq2: shows "A = B --> ( C \<lsq> A <-> C \<lsq> B )" "A = B --> ( C \<ls> A <-> C \<ls> B )" by auto; lemma MMI_syld: assumes A1: "φ --> ( ψ --> ch )" and A2: "φ --> ( ch --> ϑ )" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_biimpcd: assumes A1: "φ --> ( ψ <-> ch )" shows "ψ --> ( φ --> ch )" using prems by auto lemma MMI_mp2and: assumes A1: "φ --> ψ" and A2: "φ --> ch" and A3: "φ --> ( ( ψ ∧ ch ) --> ϑ )" shows "φ --> ϑ" using prems by auto; (**********ltletrd-renemnft*********************) lemma MMI_sonr: shows "( R Orders A ∧ B ∈ A ) --> ¬ ( 〈B,B〉 ∈ R )" using StrictOrder_def by auto; lemma MMI_orri: assumes A1: "¬ ( φ ) --> ψ" shows "φ ∨ ψ" using prems by auto lemma MMI_mpbiri: assumes Amin: "ch" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ψ" using prems by auto lemma MMI_pm2_46: shows "¬ ( ( φ ∨ ψ ) ) --> ¬ ( ψ )" by auto lemma MMI_elun: shows "A ∈ ( B ∪ C ) <-> ( A ∈ B ∨ A ∈ C )" by auto lemma (in MMIsar0) MMI_pnfxr: shows "\<cpnf> ∈ \<real>*" using cxr_def by simp; lemma MMI_elisseti: assumes A1: "A ∈ B" shows "A isASet" using prems by auto lemma (in MMIsar0) MMI_mnfxr: shows "\<cmnf> ∈ \<real>*" using cxr_def by simp; lemma MMI_elpr2: assumes A1: "B isASet" and A2: "C isASet" shows "A ∈ { B , C } <-> ( A = B ∨ A = C )" using prems by auto lemma MMI_orbi2i: assumes A1: "φ <-> ψ" shows "( ch ∨ φ ) <-> ( ch ∨ ψ )" using prems by auto lemma MMI_3orass: shows "( φ ∨ ψ ∨ ch ) <-> ( φ ∨ ( ψ ∨ ch ) )" by auto lemma MMI_bitr4: assumes A1: "φ <-> ψ" and A2: "ch <-> ψ" shows "φ <-> ch" using prems by auto lemma MMI_eleq2: shows "A = B --> ( C ∈ A <-> C ∈ B )" by auto lemma MMI_nelneq: shows "( A ∈ C ∧ ¬ ( B ∈ C ) ) --> ¬ ( A = B )" by auto; (************ renfdisj - pnfget *********************) lemma MMI_df_pr: shows "{ A , B } = ( { A } ∪ { B } )" by auto; lemma MMI_ineq2i: assumes A1: "A = B" shows "( C ∩ A ) = ( C ∩ B )" using prems by auto lemma MMI_mt2: assumes A1: "ψ" and A2: "φ --> ¬ ( ψ )" shows "¬ ( φ )" using prems by auto lemma MMI_disjsn: shows "( A ∩ { B } ) = 0 <-> ¬ ( B ∈ A )" by auto lemma MMI_undisj2: shows "( ( A ∩ B ) = 0 ∧ ( A ∩ C ) = 0 ) <-> ( A ∩ ( B ∪ C ) ) = 0" by auto lemma MMI_disjssun: shows "( ( A ∩ B ) = 0 --> ( A ⊆ ( B ∪ C ) <-> A ⊆ C ) )" by auto lemma MMI_uncom: shows "( A ∪ B ) = ( B ∪ A )" by auto lemma MMI_sseq2i: assumes A1: "A = B" shows "( C ⊆ A <-> C ⊆ B )" using prems by auto lemma MMI_disj: shows "( A ∩ B ) = 0 <-> ( ∀ x ∈ A . ¬ ( x ∈ B ) )" by auto lemma MMI_syl5ibr: assumes A1: "φ --> ( ψ --> ch )" and A2: "ψ <-> ϑ" shows "φ --> ( ϑ --> ch )" using prems by auto lemma MMI_con3d: assumes A1: "φ --> ( ψ --> ch )" shows "φ --> ( ¬ ( ch ) --> ¬ ( ψ ) )" using prems by auto (* original lemma MMI_dfrex2: shows "( ∃ x ∈ A . φ ) <-> ¬ ( ( ∀ x ∈ A . ¬ ( φ ) ) )" by auto*) lemma MMI_dfrex2: shows "( ∃ x ∈ A . φ(x) ) <-> ¬ ( ( ∀ x ∈ A . ¬ φ(x) ) )" by auto; lemma MMI_visset: shows "x isASet" by auto lemma MMI_elpr: assumes A1: "A isASet" shows "A ∈ { B , C } <-> ( A = B ∨ A = C )" using prems by auto lemma MMI_rexbii: assumes A1: "∀x. φ(x) <-> ψ(x)" shows "( ∃ x ∈ A . φ(x) ) <-> ( ∃ x ∈ A . ψ(x) )" using prems by auto; lemma MMI_r19_43: shows "( ∃ x ∈ A . ( φ(x) ∨ ψ(x) ) ) <-> ( ( ∃ x ∈ A . φ(x) ∨ ( ∃ x ∈ A . ψ(x) ) ) )" by auto; lemma MMI_exancom: shows "( ∃ x . ( φ(x) ∧ ψ(x) ) ) <-> ( ∃ x . ( ψ(x) ∧ φ(x) ) )" by auto; lemma MMI_ceqsexv: assumes A1: "A isASet" and A2: "∀x. x = A --> ( φ(x) <-> ψ(x) )" shows "( ∃ x . ( x = A ∧ φ(x) ) ) <-> ψ(A)" using prems by auto; (** original lemma MMI_orbi12i: assumes A1: "φ <-> ψ" and A2: "ch <-> ϑ" shows "( φ ∨ ch ) <-> ( ψ ∨ ϑ )" using prems by auto *) lemma MMI_orbi12i: assumes A1: "(∃x. φ(x)) <-> ψ" and A2: "(∃x. ch(x)) <-> ϑ" shows "( ∃x. φ(x) ) ∨ (∃x. ch(x) ) <-> ( ψ ∨ ϑ )" using prems by auto; lemma MMI_syl6ib: assumes A1: "φ --> ( ψ --> ch )" and A2: "ch <-> ϑ" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_intnan: assumes A1: "¬ ( φ )" shows "¬ ( ( ψ ∧ φ ) )" using prems by auto lemma MMI_intnanr: assumes A1: "¬ ( φ )" shows "¬ ( ( φ ∧ ψ ) )" using prems by auto lemma MMI_pm3_2ni: assumes A1: "¬ ( φ )" and A2: "¬ ( ψ )" shows "¬ ( ( φ ∨ ψ ) )" using prems by auto lemma (in MMIsar0) MMI_breq12: shows "( A = B ∧ C = D ) --> ( A \<ls> C <-> B \<ls> D )" "( A = B ∧ C = D ) --> ( A \<lsq> C <-> B \<lsq> D )" by auto; lemma MMI_necom: shows "A ≠ B <-> B ≠ A" by auto lemma MMI_3jaoi: assumes A1: "φ --> ψ" and A2: "ch --> ψ" and A3: "ϑ --> ψ" shows "( φ ∨ ch ∨ ϑ ) --> ψ" using prems by auto lemma MMI_jctr: assumes A1: "ψ" shows "φ --> ( φ ∧ ψ )" using prems by auto lemma MMI_olc: shows "φ --> ( ψ ∨ φ )" by auto lemma MMI_3syl: assumes A1: "φ --> ψ" and A2: "ψ --> ch" and A3: "ch --> ϑ" shows "φ --> ϑ" using prems by auto; (************** mnflet- xrlelttrt ***************) lemma MMI_mtbird: assumes Amin: "φ --> ¬ ( ch )" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ¬ ( ψ )" using prems by auto lemma MMI_pm2_21d: assumes A1: "φ --> ¬ ( ψ )" shows "φ --> ( ψ --> ch )" using prems by auto lemma MMI_3jaodan: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "( φ ∧ ϑ ) --> ch" and A3: "( φ ∧ τ ) --> ch" shows "( φ ∧ ( ψ ∨ ϑ ∨ τ ) ) --> ch" using prems by auto lemma MMI_sylan2br: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "ψ <-> ϑ" shows "( φ ∧ ϑ ) --> ch" using prems by auto lemma MMI_3jaoian: assumes A1: "( φ ∧ ψ ) --> ch" and A2: "( ϑ ∧ ψ ) --> ch" and A3: "( τ ∧ ψ ) --> ch" shows "( ( φ ∨ ϑ ∨ τ ) ∧ ψ ) --> ch" using prems by auto lemma MMI_mtbid: assumes Amin: "φ --> ¬ ( ψ )" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ¬ ( ch )" using prems by auto lemma MMI_con1d: assumes A1: "φ --> ( ¬ ( ψ ) --> ch )" shows "φ --> ( ¬ ( ch ) --> ψ )" using prems by auto lemma MMI_pm2_21nd: assumes A1: "φ --> ψ" shows "φ --> ( ¬ ( ψ ) --> ch )" using prems by auto lemma MMI_syl3an1b: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" and A2: "τ <-> φ" shows "( τ ∧ ψ ∧ ch ) --> ϑ" using prems by auto lemma MMI_adantld: assumes A1: "φ --> ( ψ --> ch )" shows "φ --> ( ( ϑ ∧ ψ ) --> ch )" using prems by auto lemma MMI_adantrd: assumes A1: "φ --> ( ψ --> ch )" shows "φ --> ( ( ψ ∧ ϑ ) --> ch )" using prems by auto lemma MMI_anasss: assumes A1: "( ( φ ∧ ψ ) ∧ ch ) --> ϑ" shows "( φ ∧ ( ψ ∧ ch ) ) --> ϑ" using prems by auto lemma MMI_syl3an3b: assumes A1: "( φ ∧ ψ ∧ ch ) --> ϑ" and A2: "τ <-> ch" shows "( φ ∧ ψ ∧ τ ) --> ϑ" using prems by auto; (**************xrltletrt-lttri3***********************) lemma MMI_mpbid: assumes Amin: "φ --> ψ" and Amaj: "φ --> ( ψ <-> ch )" shows "φ --> ch" using prems by auto lemma MMI_orbi12d: assumes A1: "φ --> ( ψ <-> ch )" and A2: "φ --> ( ϑ <-> τ )" shows "φ --> ( ( ψ ∨ ϑ ) <-> ( ch ∨ τ ) )" using prems by auto lemma MMI_ianor: shows "¬ ( φ ∧ ψ ) <-> ¬ φ ∨ ¬ ψ " by auto; lemma MMI_bitr2: assumes A1: "φ <-> ψ" and A2: "ψ <-> ch" shows "ch <-> φ" using prems by auto lemma MMI_biimp: assumes A1: "φ <-> ψ" shows "φ --> ψ" using prems by auto lemma MMI_mpan2d: assumes A1: "φ --> ch" and A2: "φ --> ( ( ψ ∧ ch ) --> ϑ )" shows "φ --> ( ψ --> ϑ )" using prems by auto lemma MMI_ad2antrr: assumes A1: "φ --> ψ" shows "( ( φ ∧ ch ) ∧ ϑ ) --> ψ" using prems by auto lemma MMI_biimpac: assumes A1: "φ --> ( ψ <-> ch )" shows "( ψ ∧ φ ) --> ch" using prems by auto; (***********letri3-ltne**************************) lemma MMI_con2bii: assumes A1: "φ <-> ¬ ( ψ )" shows "ψ <-> ¬ ( φ )" using prems by auto lemma MMI_pm3_26bd: assumes A1: "φ <-> ( ψ ∧ ch )" shows "φ --> ψ" using prems by auto; end
lemma MMI_ax_mp:
[| φ; φ --> ψ |] ==> ψ
lemma MMI_sseli:
A ⊆ B ==> C ∈ A --> C ∈ B
lemma MMI_sselii:
[| A ⊆ B; C ∈ A |] ==> C ∈ B
lemma MMI_syl:
[| φ --> ps; ps --> ch |] ==> φ --> ch
lemma MMI_elimhyp:
[| A = (if φ then A else B) --> φ <-> ψ; B = (if φ then A else B) --> ch <-> ψ; ch |] ==> ψ
lemma MMI_neeq1:
A = B --> A ≠ C <-> B ≠ C
lemma MMI_mp2:
[| φ; ψ; φ --> ψ --> chi |] ==> chi
lemma MMI_xpex:
[| A isASet; B isASet |] ==> (A × B) isASet
lemma MMI_fex:
A ∈ C --> F ∈ A -> B --> F isASet
A isASet --> F ∈ A -> B --> F isASet
lemma MMI_3eqtr4d:
[| φ --> A = B; φ --> C = A; φ --> D = B |] ==> φ --> C = D
lemma MMI_3coml:
φ ∧ ψ ∧ chi --> th ==> ψ ∧ chi ∧ φ --> th
lemma MMI_sylan:
[| φ ∧ ψ --> chi; th --> φ |] ==> th ∧ ψ --> chi
lemma MMI_3impa:
(φ ∧ ψ) ∧ chi --> th ==> φ ∧ ψ ∧ chi --> th
lemma MMI_3adant2:
φ ∧ ψ --> chi ==> φ ∧ th ∧ ψ --> chi
lemma MMI_3adant1:
φ ∧ ψ --> chi ==> th ∧ φ ∧ ψ --> chi
lemma MMI_opreq12d:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; φ --> C = D |] ==> φ --> caddset ` 〈A, C〉 = caddset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; φ --> C = D |] ==> φ --> cmulset ` 〈A, C〉 = cmulset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; φ --> C = D |] ==> φ --> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈D, x〉 = B}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; φ --> C = D |] ==> φ --> \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . cmulset ` 〈D, x〉 = B}
lemma MMI_mp2an:
[| φ; ψ; φ ∧ ψ --> chi |] ==> chi
lemma MMI_mp3an:
[| φ; ψ; ch; φ ∧ ψ ∧ ch --> ϑ |] ==> ϑ
lemma MMI_eqeltrr:
[| A = B; A ∈ C |] ==> B ∈ C
lemma MMI_eqtr:
[| A = B; B = C |] ==> A = C
lemma MMI_impbi:
[| φ --> ψ; ψ --> φ |] ==> φ <-> ψ
lemma MMI_mp3an3:
[| ch; φ ∧ ψ ∧ ch --> ϑ |] ==> φ ∧ ψ --> ϑ
lemma MMI_eqeq12d:
[| φ --> A = B; φ --> C = D |] ==> φ --> A = C <-> B = D
lemma MMI_mpan2:
[| ψ; φ ∧ ψ --> ch |] ==> φ --> ch
lemma MMI_opreq2:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> caddset ` 〈C, A〉 = caddset ` 〈C, B〉
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> cmulset ` 〈C, A〉 = cmulset ` 〈C, B〉
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> \<Union>{x ∈ complex . caddset ` 〈A, x〉 = C} = \<Union>{x ∈ complex . caddset ` 〈B, x〉 = C}
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> \<Union>{x ∈ complex . cmulset ` 〈A, x〉 = C} = \<Union>{x ∈ complex . cmulset ` 〈B, x〉 = C}
lemma MMI_syl5bir:
[| φ --> ψ <-> ch; ϑ --> ch |] ==> φ --> ϑ --> ψ
lemma MMI_adantr:
φ --> ψ ==> φ ∧ ch --> ψ
lemma MMI_mpan:
[| φ; φ ∧ ψ --> ch |] ==> ψ --> ch
lemma MMI_eqeq1d:
φ --> A = B ==> φ --> A = C <-> B = C
lemma MMI_opreq1:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> cmulset ` 〈A, C〉 = cmulset ` 〈B, C〉
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> caddset ` 〈A, C〉 = caddset ` 〈B, C〉
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈C, x〉 = B}
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = B}
lemma MMI_syl6eq:
[| φ --> A = B; B = C |] ==> φ --> A = C
lemma MMI_syl6bi:
[| φ --> ψ <-> ch; ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_imp:
φ --> ψ --> ch ==> φ ∧ ψ --> ch
lemma MMI_sylibd:
[| φ --> ψ --> ch; φ --> ch <-> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_ex:
φ ∧ ψ --> ch ==> φ --> ψ --> ch
lemma MMI_r19_23aiv:
∀x. x ∈ A --> φ(x) --> ψ ==> (∃x∈A. φ(x)) --> ψ
lemma MMI_bitr:
[| φ <-> ψ; ψ <-> ch |] ==> φ <-> ch
lemma MMI_eqeq12i:
[| A = B; C = D |] ==> A = C <-> B = D
lemma MMI_dedth3h:
[| A = (if φ then A else D) --> ϑ <-> ta; B = (if ψ then B else R) --> ta <-> et; C = (if ch then C else S) --> et <-> ze; ze |] ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_bibi1d:
φ --> ψ <-> ch ==> φ --> (ψ <-> ϑ) <-> ch <-> ϑ
lemma MMI_eqeq1:
A = B --> A = C <-> B = C
lemma MMI_bibi12d:
[| φ --> ψ <-> ch; φ --> ϑ <-> ta |] ==> φ --> (ψ <-> ϑ) <-> ch <-> ta
lemma MMI_eqeq2d:
φ --> A = B ==> φ --> C = A <-> C = B
lemma MMI_eqeq2:
A = B --> C = A <-> C = B
lemma MMI_elimel:
B ∈ C ==> (if A ∈ C then A else B) ∈ C
lemma MMI_3adant3:
φ ∧ ψ --> ch ==> φ ∧ ψ ∧ ϑ --> ch
lemma MMI_bitr3d:
[| φ --> ψ <-> ch; φ --> ψ <-> ϑ |] ==> φ --> ch <-> ϑ
lemma MMI_3eqtr3d:
[| φ --> A = B; φ --> A = C; φ --> B = D |] ==> φ --> C = D
lemma MMI_opreq1d:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> caddset ` 〈A, C〉 = caddset ` 〈B, C〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈C, x〉 = B}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> cmulset ` 〈A, C〉 = cmulset ` 〈B, C〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = B}
lemma MMI_3com12:
φ ∧ ψ ∧ ch --> ϑ ==> ψ ∧ φ ∧ ch --> ϑ
lemma MMI_opreq2d:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> caddset ` 〈C, A〉 = caddset ` 〈C, B〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> \<Union>{x ∈ complex . caddset ` 〈A, x〉 = C} = \<Union>{x ∈ complex . caddset ` 〈B, x〉 = C}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> cmulset ` 〈C, A〉 = cmulset ` 〈C, B〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B |] ==> φ --> \<Union>{x ∈ complex . cmulset ` 〈A, x〉 = C} = \<Union>{x ∈ complex . cmulset ` 〈B, x〉 = C}
lemma MMI_3com23:
φ ∧ ψ ∧ ch --> ϑ ==> φ ∧ ch ∧ ψ --> ϑ
lemma MMI_3expa:
φ ∧ ψ ∧ ch --> ϑ ==> (φ ∧ ψ) ∧ ch --> ϑ
lemma MMI_adantrr:
φ ∧ ψ --> ch ==> φ ∧ ψ ∧ ϑ --> ch
lemma MMI_3expb:
φ ∧ ψ ∧ ch --> ϑ ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_an4s:
(φ ∧ ψ) ∧ ch ∧ ϑ --> τ ==> (φ ∧ ch) ∧ ψ ∧ ϑ --> τ
lemma MMI_eqtrd:
[| φ --> A = B; φ --> B = C |] ==> φ --> A = C
lemma MMI_ad2ant2l:
φ ∧ ψ --> ch ==> (ϑ ∧ φ) ∧ τ ∧ ψ --> ch
lemma MMI_pm3_2i:
[| φ; ψ |] ==> φ ∧ ψ
lemma MMI_opreq2i:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> caddset ` 〈C, A〉 = caddset ` 〈C, B〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> \<Union>{x ∈ complex . caddset ` 〈A, x〉 = C} = \<Union>{x ∈ complex . caddset ` 〈B, x〉 = C}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> cmulset ` 〈C, A〉 = cmulset ` 〈C, B〉
lemma MMI_mpbir2an:
[| φ <-> ψ ∧ ch; ψ; ch |] ==> φ
lemma MMI_reu4:
∀x y. x = y --> φ(x) <-> ψ(y) ==> (∃!x. x ∈ A ∧ φ(x)) <-> (∃x∈A. φ(x)) ∧ (∀x∈A. ∀y∈A. φ(x) ∧ ψ(y) --> x = y)
lemma MMI_risset:
A ∈ B <-> (∃x∈B. x = A)
lemma MMI_sylib:
[| φ --> ψ; ψ <-> ch |] ==> φ --> ch
lemma MMI_mp3an13:
[| φ; ch; φ ∧ ψ ∧ ch --> ϑ |] ==> ψ --> ϑ
lemma MMI_eqcomd:
φ --> A = B ==> φ --> B = A
lemma MMI_sylan9eqr:
[| φ --> A = B; ψ --> B = C |] ==> ψ ∧ φ --> A = C
lemma MMI_exp32:
φ ∧ ψ ∧ ch --> ϑ ==> φ --> ψ --> ch --> ϑ
lemma MMI_impcom:
φ --> ψ --> ch ==> ψ ∧ φ --> ch
lemma MMI_a1d:
φ --> ψ ==> φ --> ch --> ψ
lemma MMI_r19_21aiv:
∀x. φ --> x ∈ A --> ψ(x) ==> φ --> (∀x∈A. ψ(x))
lemma MMI_r19_22:
(∀x∈A. φ(x) --> ψ(x)) --> (∃x∈A. φ(x)) --> (∃x∈A. ψ(x))
lemma MMI_syl6:
[| φ --> ψ --> ch; ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_mpid:
[| φ --> ch; φ --> ψ --> ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_eqtr3t:
A = C ∧ B = C --> A = B
lemma MMI_syl5bi:
[| φ --> ψ <-> ch; ϑ --> ψ |] ==> φ --> ϑ --> ch
lemma MMI_mp3an1:
[| φ; φ ∧ ψ ∧ ch --> ϑ |] ==> ψ ∧ ch --> ϑ
lemma MMI_rgen2:
∀x y. x ∈ A ∧ y ∈ A --> φ(x, y) ==> ∀x∈A. ∀y∈A. φ(x, y)
lemma MMI_ax_17:
φ --> (∀x. φ)
lemma MMI_3eqtr4g:
[| φ --> A = B; C = A; D = B |] ==> φ --> C = D
lemma MMI_3imtr4:
[| φ --> ψ; ch <-> φ; ϑ <-> ψ |] ==> ch --> ϑ
lemma MMI_eleq2i:
A = B ==> C ∈ A <-> C ∈ B
lemma MMI_albii:
φ <-> ψ ==> (∀x. φ) <-> (∀x. ψ)
lemma MMI_reucl:
(∃!x. x ∈ A ∧ φ(x)) --> \<Union>{x ∈ A . φ(x)} ∈ A
lemma MMI_dedth2h:
[| A = (if φ then A else C) --> ch <-> ϑ; B = (if ψ then B else D) --> ϑ <-> τ; τ |] ==> φ ∧ ψ --> ch
lemma MMI_eleq1d:
φ --> A = B ==> φ --> A ∈ C <-> B ∈ C
lemma MMI_syl5eqel:
[| φ --> A ∈ B; C = A |] ==> φ --> C ∈ B
lemma IML_eeuni:
[| x ∈ A; ∃!t. t ∈ A ∧ φ(t) |] ==> φ(x) <-> \<Union>{x ∈ A . φ(x)} = x
lemma MMI_reuuni1:
x ∈ A ∧ (∃!x. x ∈ A ∧ φ(x)) --> φ(x) <-> \<Union>{x ∈ A . φ(x)} = x
lemma MMI_eqeq1i:
A = B ==> A = C <-> B = C
lemma MMI_syl6rbbr:
[| ∀x. φ(x) --> ψ(x) <-> ch(x); ∀x. ϑ(x) <-> ch(x) |] ==> ∀x. φ(x) --> ϑ(x) <-> ψ(x)
lemma MMI_syl6rbbrA:
[| φ --> ψ <-> ch; ϑ <-> ch |] ==> φ --> ϑ <-> ψ
lemma MMI_vtoclga:
[| ∀x. x = A --> φ(x) <-> ψ; ∀x. x ∈ B --> φ(x) |] ==> A ∈ B --> ψ
lemma MMI_3bitr4:
[| φ <-> ψ; ch <-> φ; ϑ <-> ψ |] ==> ch <-> ϑ
lemma MMI_mpbii:
[| ψ; φ --> ψ <-> ch |] ==> φ --> ch
lemma MMI_eqid:
A = A
lemma MMI_pm3_27:
φ ∧ ψ --> ψ
lemma MMI_pm3_26:
φ ∧ ψ --> φ
lemma MMI_ancoms:
φ ∧ ψ --> ch ==> ψ ∧ φ --> ch
lemma MMI_syl3anc:
[| φ ∧ ψ ∧ ch --> ϑ; τ --> φ; τ --> ψ; τ --> ch |] ==> τ --> ϑ
lemma MMI_syl5eq:
[| φ --> A = B; C = A |] ==> φ --> C = B
lemma MMI_eqcomi:
A = B ==> B = A
lemma MMI_3eqtr:
[| A = B; B = C; C = D |] ==> A = D
lemma MMI_mpbir:
[| ψ; φ <-> ψ |] ==> φ
lemma MMI_syl3an3:
[| φ ∧ ψ ∧ ch --> ϑ; τ --> ch |] ==> φ ∧ ψ ∧ τ --> ϑ
lemma MMI_3eqtrd:
[| φ --> A = B; φ --> B = C; φ --> C = D |] ==> φ --> A = D
lemma MMI_syl5:
[| φ --> ψ --> ch; ϑ --> ψ |] ==> φ --> ϑ --> ch
lemma MMI_exp3a:
φ --> ψ ∧ ch --> ϑ ==> φ --> ψ --> ch --> ϑ
lemma MMI_com12:
φ --> ψ --> ch ==> ψ --> φ --> ch
lemma MMI_3imp:
φ --> ψ --> ch --> ϑ ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_3eqtr3:
[| A = B; A = C; B = D |] ==> C = D
lemma MMI_opreq1i:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> caddset ` 〈A, C〉 = caddset ` 〈B, C〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈C, x〉 = B}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = B}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B |] ==> cmulset ` 〈A, C〉 = cmulset ` 〈B, C〉
lemma MMI_eqtr3:
[| A = B; A = C |] ==> B = C
lemma MMI_dedth:
[| A = (if φ then A else B) --> ψ <-> ch; ch |] ==> φ --> ψ
lemma MMI_id:
φ --> φ
lemma MMI_eqtr3d:
[| φ --> A = B; φ --> A = C |] ==> φ --> B = C
lemma MMI_sylan2:
[| φ ∧ ψ --> ch; ϑ --> ψ |] ==> φ ∧ ϑ --> ch
lemma MMI_adantl:
φ --> ψ ==> ch ∧ φ --> ψ
lemma MMI_opreq12:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B ∧ C = D --> caddset ` 〈A, C〉 = caddset ` 〈B, D〉
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B ∧ C = D --> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈D, x〉 = B}
lemma MMI_anidms:
φ ∧ φ --> ψ ==> φ --> ψ
lemma MMI_anabsan2:
φ ∧ ψ ∧ ψ --> ch ==> φ ∧ ψ --> ch
lemma MMI_3simp2:
φ ∧ ψ ∧ ch --> ψ
lemma MMI_3simp3:
φ ∧ ψ ∧ ch --> ch
lemma MMI_sylbir:
[| ψ <-> φ; ψ --> ch |] ==> φ --> ch
lemma MMI_3eqtr3g:
[| φ --> A = B; A = C; B = D |] ==> φ --> C = D
lemma MMI_3bitr:
[| φ <-> ψ; ψ <-> ch; ch <-> ϑ |] ==> φ <-> ϑ
lemma MMI_3bitr3:
[| φ <-> ψ; φ <-> ch; ψ <-> ϑ |] ==> ch <-> ϑ
lemma MMI_eqcom:
A = B <-> B = A
lemma MMI_syl6bb:
[| φ --> ψ <-> ch; ch <-> ϑ |] ==> φ --> ψ <-> ϑ
lemma MMI_3bitr3d:
[| φ --> ψ <-> ch; φ --> ψ <-> ϑ; φ --> ch <-> τ |] ==> φ --> ϑ <-> τ
lemma MMI_syl3an2:
[| φ ∧ ψ ∧ ch --> ϑ; τ --> ψ |] ==> φ ∧ τ ∧ ch --> ϑ
lemma MMI_df_rex:
(∃x∈A. φ(x)) <-> (∃x. x ∈ A ∧ φ(x))
lemma MMI_mpbi:
[| φ; φ <-> ψ |] ==> ψ
lemma MMI_mp3an12:
[| φ; ψ; φ ∧ ψ ∧ ch --> ϑ |] ==> ch --> ϑ
lemma MMI_syl5bb:
[| φ --> ψ <-> ch; ϑ <-> ψ |] ==> φ --> ϑ <-> ch
lemma MMI_eleq1a:
A ∈ B --> C = A --> C ∈ B
lemma MMI_sylbird:
[| φ --> ch <-> ψ; φ --> ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_19_23aiv:
∀x. φ(x) --> ψ ==> (∃x. φ(x)) --> ψ
lemma MMI_eqeltrrd:
[| φ --> A = B; φ --> A ∈ C |] ==> φ --> B ∈ C
lemma MMI_syl2an:
[| φ ∧ ψ --> ch; ϑ --> φ; τ --> ψ |] ==> ϑ ∧ τ --> ch
lemma MMI_adantrl:
φ ∧ ψ --> ch ==> φ ∧ ϑ ∧ ψ --> ch
lemma MMI_ad2ant2r:
φ ∧ ψ --> ch ==> (φ ∧ ϑ) ∧ ψ ∧ τ --> ch
lemma MMI_adantll:
φ ∧ ψ --> ch ==> (ϑ ∧ φ) ∧ ψ --> ch
lemma MMI_anandirs:
(φ ∧ ch) ∧ ψ ∧ ch --> τ ==> (φ ∧ ψ) ∧ ch --> τ
lemma MMI_adantlr:
φ ∧ ψ --> ch ==> (φ ∧ ϑ) ∧ ψ --> ch
lemma MMI_an42s:
(φ ∧ ψ) ∧ ch ∧ ϑ --> τ ==> (φ ∧ ch) ∧ ϑ ∧ ψ --> τ
lemma MMI_mp3an2:
[| ψ; φ ∧ ψ ∧ ch --> ϑ |] ==> φ ∧ ch --> ϑ
lemma MMI_3simp1:
φ ∧ ψ ∧ ch --> φ
lemma MMI_3impb:
φ ∧ ψ ∧ ch --> ϑ ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_mpbird:
[| φ --> ch; φ --> ψ <-> ch |] ==> φ --> ψ
lemma MMI_opreq12i:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B; C = D |] ==> caddset ` 〈A, C〉 = caddset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B; C = D |] ==> cmulset ` 〈A, C〉 = cmulset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); A = B; C = D |] ==> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈D, x〉 = B}
lemma MMI_3eqtr4:
[| A = B; C = A; D = B |] ==> C = D
lemma MMI_eqtr4d:
[| φ --> A = B; φ --> C = B |] ==> φ --> A = C
lemma MMI_3eqtr3rd:
[| φ --> A = B; φ --> A = C; φ --> B = D |] ==> φ --> D = C
lemma MMI_sylanc:
[| φ ∧ ψ --> ch; ϑ --> φ; ϑ --> ψ |] ==> ϑ --> ch
lemma MMI_anim12i:
[| φ --> ψ; ch --> ϑ |] ==> φ ∧ ch --> ψ ∧ ϑ
lemma MMI_opreqan12d:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> φ ∧ ψ --> caddset ` 〈A, C〉 = caddset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> φ ∧ ψ --> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈D, x〉 = B}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> φ ∧ ψ --> cmulset ` 〈A, C〉 = cmulset ` 〈B, D〉
lemma MMI_sylanr2:
[| φ ∧ ψ ∧ ch --> ϑ; τ --> ch |] ==> φ ∧ ψ ∧ τ --> ϑ
lemma MMI_sylanl2:
[| (φ ∧ ψ) ∧ ch --> ϑ; τ --> ψ |] ==> (φ ∧ τ) ∧ ch --> ϑ
lemma MMI_ancom2s:
φ ∧ ψ ∧ ch --> ϑ ==> φ ∧ ch ∧ ψ --> ϑ
lemma MMI_anandis:
(φ ∧ ψ) ∧ φ ∧ ch --> τ ==> φ ∧ ψ ∧ ch --> τ
lemma MMI_sylan9eq:
[| φ --> A = B; ψ --> B = C |] ==> φ ∧ ψ --> A = C
lemma MMI_keephyp:
[| A = (if φ then A else B) --> ψ <-> ϑ; B = (if φ then A else B) --> ch <-> ϑ; ψ; ch |] ==> ϑ
lemma MMI_eleq1:
A = B --> A ∈ C <-> B ∈ C
lemma MMI_pm4_2i:
φ --> ψ <-> ψ
lemma MMI_3anbi123d:
[| φ --> ψ <-> ch; φ --> ϑ <-> τ; φ --> η <-> ζ |] ==> φ --> ψ ∧ ϑ ∧ η <-> ch ∧ τ ∧ ζ
lemma MMI_imbi12d:
[| φ --> ψ <-> ch; φ --> ϑ <-> τ |] ==> φ --> (ψ --> ϑ) <-> ch --> τ
lemma MMI_bitrd:
[| φ --> ψ <-> ch; φ --> ch <-> ϑ |] ==> φ --> ψ <-> ϑ
lemma MMI_df_ne:
A ≠ B <-> A ≠ B
lemma MMI_3pm3_2i:
[| φ; ψ; ch |] ==> φ ∧ ψ ∧ ch
lemma MMI_eqeq2i:
A = B ==> C = A <-> C = B
lemma MMI_syl5bbr:
[| φ --> ψ <-> ch; ψ <-> ϑ |] ==> φ --> ϑ <-> ch
lemma MMI_biimpd:
φ --> ψ <-> ch ==> φ --> ψ --> ch
lemma MMI_orrd:
φ --> ¬ ψ --> ch ==> φ --> ψ ∨ ch
lemma MMI_jaoi:
[| φ --> ψ; ch --> ψ |] ==> φ ∨ ch --> ψ
lemma MMI_oridm:
φ ∨ φ <-> φ
lemma MMI_orbi1d:
φ --> ψ <-> ch ==> φ --> ψ ∨ ϑ <-> ch ∨ ϑ
lemma MMI_orbi2d:
φ --> ψ <-> ch ==> φ --> ϑ ∨ ψ <-> ϑ ∨ ch
lemma MMI_3bitr4g:
[| φ --> ψ <-> ch; ϑ <-> ψ; τ <-> ch |] ==> φ --> ϑ <-> τ
lemma MMI_negbid:
φ --> ψ <-> ch ==> φ --> ¬ ψ <-> ¬ ch
lemma MMI_ioran:
¬ (φ ∨ ψ) <-> ¬ φ ∧ ¬ ψ
lemma MMI_syl6rbb:
[| φ --> ψ <-> ch; ch <-> ϑ |] ==> φ --> ϑ <-> ψ
lemma MMI_anbi12i:
[| φ <-> ψ; ch <-> ϑ |] ==> φ ∧ ch <-> ψ ∧ ϑ
lemma MMI_keepel:
[| A ∈ C; B ∈ C |] ==> (if φ then A else B) ∈ C
lemma MMI_imbi2d:
φ --> ψ <-> ch ==> φ --> (ϑ --> ψ) <-> ϑ --> ch
lemma MMI_eqeltr:
[| A = B; B ∈ C |] ==> A ∈ C
lemma MMI_3impia:
φ ∧ ψ --> ch --> ϑ ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_eqneqd:
φ --> A = B <-> C = D ==> φ --> A ≠ B <-> C ≠ D
lemma MMI_3ad2ant2:
φ --> ch ==> ψ ∧ φ ∧ ϑ --> ch
lemma MMI_mp3anl3:
[| ch; (φ ∧ ψ ∧ ch) ∧ ϑ --> τ |] ==> (φ ∧ ψ) ∧ ϑ --> τ
lemma MMI_bitr4d:
[| φ --> ψ <-> ch; φ --> ϑ <-> ch |] ==> φ --> ψ <-> ϑ
lemma MMI_neeq1d:
φ --> A = B ==> φ --> A ≠ C <-> B ≠ C
lemma MMI_3anim123i:
[| φ --> ψ; ch --> ϑ; τ --> η |] ==> φ ∧ ch ∧ τ --> ψ ∧ ϑ ∧ η
lemma MMI_3exp:
φ ∧ ψ ∧ ch --> ϑ ==> φ --> ψ --> ch --> ϑ
lemma MMI_exp4a:
φ --> ψ --> ch ∧ ϑ --> τ ==> φ --> ψ --> ch --> ϑ --> τ
lemma MMI_3imp1:
φ --> ψ --> ch --> ϑ --> τ ==> (φ ∧ ψ ∧ ch) ∧ ϑ --> τ
lemma MMI_anim1i:
φ --> ψ ==> φ ∧ ch --> ψ ∧ ch
lemma MMI_3adantl1:
(φ ∧ ψ) ∧ ch --> ϑ ==> (τ ∧ φ ∧ ψ) ∧ ch --> ϑ
lemma MMI_3adantl2:
(φ ∧ ψ) ∧ ch --> ϑ ==> (φ ∧ τ ∧ ψ) ∧ ch --> ϑ
lemma MMI_3comr:
φ ∧ ψ ∧ ch --> ϑ ==> ch ∧ φ ∧ ψ --> ϑ
lemma MMI_bitr3:
[| ψ <-> φ; ψ <-> ch |] ==> φ <-> ch
lemma MMI_anbi12d:
[| φ --> ψ <-> ch; φ --> ϑ <-> τ |] ==> φ --> ψ ∧ ϑ <-> ch ∧ τ
lemma MMI_pm3_26i:
φ ∧ ψ ==> φ
lemma MMI_pm3_27i:
φ ∧ ψ ==> ψ
lemma MMI_anabsan:
(φ ∧ φ) ∧ ψ --> ch ==> φ ∧ ψ --> ch
lemma MMI_3eqtr4rd:
[| φ --> A = B; φ --> C = A; φ --> D = B |] ==> φ --> D = C
lemma MMI_syl3an1:
[| φ ∧ ψ ∧ ch --> ϑ; τ --> φ |] ==> τ ∧ ψ ∧ ch --> ϑ
lemma MMI_syl3anl2:
[| (φ ∧ ψ ∧ ch) ∧ ϑ --> τ; η --> ψ |] ==> (φ ∧ η ∧ ch) ∧ ϑ --> τ
lemma MMI_jca:
[| φ --> ψ; φ --> ch |] ==> φ --> ψ ∧ ch
lemma MMI_3ad2ant3:
φ --> ch ==> ψ ∧ ϑ ∧ φ --> ch
lemma MMI_anim2i:
φ --> ψ ==> ch ∧ φ --> ch ∧ ψ
lemma MMI_ancom:
φ ∧ ψ <-> ψ ∧ φ
lemma MMI_anbi1i:
φ <-> ψ ==> φ ∧ ch <-> ψ ∧ ch
lemma MMI_an42:
(φ ∧ ψ) ∧ ch ∧ ϑ <-> (φ ∧ ch) ∧ ϑ ∧ ψ
lemma MMI_sylanb:
[| φ ∧ ψ --> ch; ϑ <-> φ |] ==> ϑ ∧ ψ --> ch
lemma MMI_an4:
(φ ∧ ψ) ∧ ch ∧ ϑ <-> (φ ∧ ch) ∧ ψ ∧ ϑ
lemma MMI_syl2anb:
[| φ ∧ ψ --> ch; ϑ <-> φ; τ <-> ψ |] ==> ϑ ∧ τ --> ch
lemma MMI_eqtr2d:
[| φ --> A = B; φ --> B = C |] ==> φ --> C = A
lemma MMI_sylbid:
[| φ --> ψ <-> ch; φ --> ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_sylanl1:
[| (φ ∧ ψ) ∧ ch --> ϑ; τ --> φ |] ==> (τ ∧ ψ) ∧ ch --> ϑ
lemma MMI_sylan2b:
[| φ ∧ ψ --> ch; ϑ <-> ψ |] ==> φ ∧ ϑ --> ch
lemma MMI_pm3_22:
φ ∧ ψ --> ψ ∧ φ
lemma MMI_ancli:
φ --> ψ ==> φ --> φ ∧ ψ
lemma MMI_ad2antlr:
φ --> ψ ==> (ch ∧ φ) ∧ ϑ --> ψ
lemma MMI_biimpa:
φ --> ψ <-> ch ==> φ ∧ ψ --> ch
lemma MMI_sylan2i:
[| φ --> ψ ∧ ch --> ϑ; τ --> ch |] ==> φ --> ψ ∧ τ --> ϑ
lemma MMI_3jca:
[| φ --> ψ; φ --> ch; φ --> ϑ |] ==> φ --> ψ ∧ ch ∧ ϑ
lemma MMI_com34:
φ --> ψ --> ch --> ϑ --> τ ==> φ --> ψ --> ϑ --> ch --> τ
lemma MMI_imp43:
φ --> ψ --> ch --> ϑ --> τ ==> (φ ∧ ψ) ∧ ch ∧ ϑ --> τ
lemma MMI_3anass:
φ ∧ ψ ∧ ch <-> φ ∧ ψ ∧ ch
lemma MMI_3eqtr4r:
[| A = B; C = A; D = B |] ==> D = C
lemma MMI_jctl:
ψ ==> φ --> ψ ∧ φ
lemma MMI_sylibr:
[| φ --> ψ; ch <-> ψ |] ==> φ --> ch
lemma MMI_mpanl1:
[| φ; (φ ∧ ψ) ∧ ch --> ϑ |] ==> ψ ∧ ch --> ϑ
lemma MMI_a1i:
φ ==> ψ --> φ
lemma MMI_opreqan12rd:
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> ψ ∧ φ --> caddset ` 〈A, C〉 = caddset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> ψ ∧ φ --> cmulset ` 〈A, C〉 = cmulset ` 〈B, D〉
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> ψ ∧ φ --> \<Union>{x ∈ complex . caddset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . caddset ` 〈D, x〉 = B}
[| MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel); φ --> A = B; ψ --> C = D |] ==> ψ ∧ φ --> \<Union>{x ∈ complex . cmulset ` 〈C, x〉 = A} = \<Union>{x ∈ complex . cmulset ` 〈D, x〉 = B}
lemma MMI_3adantl3:
(φ ∧ ψ) ∧ ch --> ϑ ==> (φ ∧ ψ ∧ τ) ∧ ch --> ϑ
lemma MMI_sylbi:
[| φ <-> ψ; ψ --> ch |] ==> φ --> ch
lemma MMI_eirr:
A ∉ A
lemma MMI_eleq1i:
A = B ==> A ∈ C <-> B ∈ C
lemma MMI_mtbir:
[| ¬ ψ; φ <-> ψ |] ==> ¬ φ
lemma MMI_mto:
[| ¬ ψ; φ --> ψ |] ==> ¬ φ
lemma MMI_df_nel:
A ∉ B <-> A ∉ B
lemma MMI_snid:
A isASet ==> A ∈ {A}
lemma MMI_en2lp:
¬ (A ∈ B ∧ B ∈ A)
lemma MMI_imnan:
(φ --> ¬ ψ) <-> ¬ (φ ∧ ψ)
lemma MMI_sseqtr4:
[| A ⊆ B; C = B |] ==> A ⊆ C
lemma MMI_ssun1:
A ⊆ A ∪ B
lemma MMI_ibar:
φ --> ψ <-> φ ∧ ψ
lemma MMI_mtbiri:
[| ¬ ch; φ --> ψ <-> ch |] ==> φ --> ¬ ψ
lemma MMI_con2i:
φ --> ¬ ψ ==> ψ --> ¬ φ
lemma MMI_intnand:
φ --> ¬ ψ ==> φ --> ¬ (ch ∧ ψ)
lemma MMI_intnanrd:
φ --> ¬ ψ ==> φ --> ¬ (ψ ∧ ch)
lemma MMI_biorf:
¬ φ --> ψ <-> φ ∨ ψ
lemma MMI_bitr2d:
[| φ --> ψ <-> ch; φ --> ch <-> ϑ |] ==> φ --> ϑ <-> ψ
lemma MMI_orass:
(φ ∨ ψ) ∨ ch <-> φ ∨ ψ ∨ ch
lemma MMI_orcom:
φ ∨ ψ <-> ψ ∨ φ
lemma MMI_3bitr4d:
[| φ --> ψ <-> ch; φ --> ϑ <-> ψ; φ --> τ <-> ch |] ==> φ --> ϑ <-> τ
lemma MMI_3imtr4d:
[| φ --> ψ --> ch; φ --> ϑ <-> ψ; φ --> τ <-> ch |] ==> φ --> ϑ --> τ
lemma MMI_3impdi:
(φ ∧ ψ) ∧ φ ∧ ch --> ϑ ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_bi2anan9:
[| φ --> ψ <-> ch; ϑ --> τ <-> η |] ==> φ ∧ ϑ --> ψ ∧ τ <-> ch ∧ η
lemma MMI_ssel2:
A ⊆ B ∧ C ∈ A --> C ∈ B
lemma MMI_an1rs:
(φ ∧ ψ) ∧ ch --> ϑ ==> (φ ∧ ch) ∧ ψ --> ϑ
lemma MMI_ralbidva:
∀x. φ ∧ x ∈ A --> ψ(x) <-> ch(x) ==> φ --> (∀x∈A. ψ(x)) <-> (∀x∈A. ch(x))
lemma MMI_rexbidva:
∀x. φ ∧ x ∈ A --> ψ(x) <-> ch(x) ==> φ --> (∃x∈A. ψ(x)) <-> (∃x∈A. ch(x))
lemma MMI_con2bid:
φ --> ψ <-> ¬ ch ==> φ --> ch <-> ¬ ψ
lemma MMI_so:
∀x y z. x ∈ A ∧ y ∈ A ∧ z ∈ A --> (〈x, y〉 ∈ R <-> ¬ (x = y ∨ 〈y, x〉 ∈ R)) ∧ (〈x, y〉 ∈ R ∧ 〈y, z〉 ∈ R --> 〈x, z〉 ∈ R) ==> R Orders A
lemma MMI_con1bid:
φ --> ¬ ψ <-> ch ==> φ --> ¬ ch <-> ψ
lemma MMI_sotrieq:
R Orders A ∧ B ∈ A ∧ C ∈ A --> B = C <-> ¬ (〈B, C〉 ∈ R ∨ 〈C, B〉 ∈ R)
lemma MMI_bicomd:
φ --> ψ <-> ch ==> φ --> ch <-> ψ
lemma MMI_sotrieq2:
R Orders A ∧ B ∈ A ∧ C ∈ A --> B = C <-> 〈B, C〉 ∉ R ∧ 〈C, B〉 ∉ R
lemma MMI_orc:
φ --> φ ∨ ψ
lemma MMI_syl6bbr:
[| φ --> ψ <-> ch; ϑ <-> ch |] ==> φ --> ψ <-> ϑ
lemma MMI_orbi1i:
φ <-> ψ ==> φ ∨ ch <-> ψ ∨ ch
lemma MMI_syl5rbbr:
[| φ --> ψ <-> ch; ψ <-> ϑ |] ==> φ --> ch <-> ϑ
lemma MMI_anbi2d:
φ --> ψ <-> ch ==> φ --> ϑ ∧ ψ <-> ϑ ∧ ch
lemma MMI_ord:
φ --> ψ ∨ ch ==> φ --> ¬ ψ --> ch
lemma MMI_impbid:
[| φ --> ψ --> ch; φ --> ch --> ψ |] ==> φ --> ψ <-> ch
lemma MMI_jcad:
[| φ --> ψ --> ch; φ --> ψ --> ϑ |] ==> φ --> ψ --> ch ∧ ϑ
lemma MMI_ax_1:
φ --> ψ --> φ
lemma MMI_pm2_24:
φ --> ¬ φ --> ψ
lemma MMI_imp3a:
φ --> ψ --> ch --> ϑ ==> φ --> ψ ∧ ch --> ϑ
lemma MMI_breq1:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> 〈C, A〉 ∉ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real <-> 〈C, B〉 ∉ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> 〈A, C〉 ∈ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real <-> 〈B, C〉 ∈ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real
lemma MMI_biimprd:
φ --> ψ <-> ch ==> φ --> ch --> ψ
lemma MMI_jaod:
[| φ --> ψ --> ch; φ --> ϑ --> ch |] ==> φ --> ψ ∨ ϑ --> ch
lemma MMI_com23:
φ --> ψ --> ch --> ϑ ==> φ --> ch --> ψ --> ϑ
lemma MMI_breq2:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> 〈A, C〉 ∉ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real <-> 〈B, C〉 ∉ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B --> 〈C, A〉 ∈ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real <-> 〈C, B〉 ∈ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real
lemma MMI_syld:
[| φ --> ψ --> ch; φ --> ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_biimpcd:
φ --> ψ <-> ch ==> ψ --> φ --> ch
lemma MMI_mp2and:
[| φ --> ψ; φ --> ch; φ --> ψ ∧ ch --> ϑ |] ==> φ --> ϑ
lemma MMI_sonr:
R Orders A ∧ B ∈ A --> 〈B, B〉 ∉ R
lemma MMI_orri:
¬ φ --> ψ ==> φ ∨ ψ
lemma MMI_mpbiri:
[| ch; φ --> ψ <-> ch |] ==> φ --> ψ
lemma MMI_pm2_46:
¬ (φ ∨ ψ) --> ¬ ψ
lemma MMI_elun:
A ∈ B ∪ C <-> A ∈ B ∨ A ∈ C
lemma MMI_pnfxr:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> complex ∈ real ∪ {complex, {complex}}
lemma MMI_elisseti:
A ∈ B ==> A isASet
lemma MMI_mnfxr:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> {complex} ∈ real ∪ {complex, {complex}}
lemma MMI_elpr2:
[| B isASet; C isASet |] ==> A ∈ {B, C} <-> A = B ∨ A = C
lemma MMI_orbi2i:
φ <-> ψ ==> ch ∨ φ <-> ch ∨ ψ
lemma MMI_3orass:
φ ∨ ψ ∨ ch <-> φ ∨ ψ ∨ ch
lemma MMI_bitr4:
[| φ <-> ψ; ch <-> ψ |] ==> φ <-> ch
lemma MMI_eleq2:
A = B --> C ∈ A <-> C ∈ B
lemma MMI_nelneq:
A ∈ C ∧ B ∉ C --> A ≠ B
lemma MMI_df_pr:
{A, B} = {A} ∪ {B}
lemma MMI_ineq2i:
A = B ==> C ∩ A = C ∩ B
lemma MMI_mt2:
[| ψ; φ --> ¬ ψ |] ==> ¬ φ
lemma MMI_disjsn:
A ∩ {B} = 0 <-> B ∉ A
lemma MMI_undisj2:
A ∩ B = 0 ∧ A ∩ C = 0 <-> A ∩ (B ∪ C) = 0
lemma MMI_disjssun:
A ∩ B = 0 --> A ⊆ B ∪ C <-> A ⊆ C
lemma MMI_uncom:
A ∪ B = B ∪ A
lemma MMI_sseq2i:
A = B ==> C ⊆ A <-> C ⊆ B
lemma MMI_disj:
A ∩ B = 0 <-> (∀x∈A. x ∉ B)
lemma MMI_syl5ibr:
[| φ --> ψ --> ch; ψ <-> ϑ |] ==> φ --> ϑ --> ch
lemma MMI_con3d:
φ --> ψ --> ch ==> φ --> ¬ ch --> ¬ ψ
lemma MMI_dfrex2:
(∃x∈A. φ(x)) <-> ¬ (∀x∈A. ¬ φ(x))
lemma MMI_visset:
x isASet
lemma MMI_elpr:
A isASet ==> A ∈ {B, C} <-> A = B ∨ A = C
lemma MMI_rexbii:
∀x. φ(x) <-> ψ(x) ==> (∃x∈A. φ(x)) <-> (∃x∈A. ψ(x))
lemma MMI_r19_43:
(∃x∈A. φ(x) ∨ ψ(x)) <-> (∃x∈A. φ(x) ∨ (∃x∈A. ψ(x)))
lemma MMI_exancom:
(∃x. φ(x) ∧ ψ(x)) <-> (∃x. ψ(x) ∧ φ(x))
lemma MMI_ceqsexv:
[| A isASet; ∀x. x = A --> φ(x) <-> ψ(x) |] ==> (∃x. x = A ∧ φ(x)) <-> ψ(A)
lemma MMI_orbi12i:
[| (∃x. φ(x)) <-> ψ; (∃x. ch(x)) <-> ϑ |] ==> (∃x. φ(x)) ∨ (∃x. ch(x)) <-> ψ ∨ ϑ
lemma MMI_syl6ib:
[| φ --> ψ --> ch; ch <-> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_intnan:
¬ φ ==> ¬ (ψ ∧ φ)
lemma MMI_intnanr:
¬ φ ==> ¬ (φ ∧ ψ)
lemma MMI_pm3_2ni:
[| ¬ φ; ¬ ψ |] ==> ¬ (φ ∨ ψ)
lemma MMI_breq12:
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B ∧ C = D --> 〈A, C〉 ∈ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real <-> 〈B, D〉 ∈ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real
MMIsar0(real, complex, one, zero, iunit, caddset, cmulset, lessrrel) ==> A = B ∧ C = D --> 〈C, A〉 ∉ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real <-> 〈D, B〉 ∉ lessrrel ∩ real × real ∪ {〈{complex}, complex〉} ∪ real × {complex} ∪ {{complex}} × real
lemma MMI_necom:
A ≠ B <-> B ≠ A
lemma MMI_3jaoi:
[| φ --> ψ; ch --> ψ; ϑ --> ψ |] ==> φ ∨ ch ∨ ϑ --> ψ
lemma MMI_jctr:
ψ ==> φ --> φ ∧ ψ
lemma MMI_olc:
φ --> ψ ∨ φ
lemma MMI_3syl:
[| φ --> ψ; ψ --> ch; ch --> ϑ |] ==> φ --> ϑ
lemma MMI_mtbird:
[| φ --> ¬ ch; φ --> ψ <-> ch |] ==> φ --> ¬ ψ
lemma MMI_pm2_21d:
φ --> ¬ ψ ==> φ --> ψ --> ch
lemma MMI_3jaodan:
[| φ ∧ ψ --> ch; φ ∧ ϑ --> ch; φ ∧ τ --> ch |] ==> φ ∧ (ψ ∨ ϑ ∨ τ) --> ch
lemma MMI_sylan2br:
[| φ ∧ ψ --> ch; ψ <-> ϑ |] ==> φ ∧ ϑ --> ch
lemma MMI_3jaoian:
[| φ ∧ ψ --> ch; ϑ ∧ ψ --> ch; τ ∧ ψ --> ch |] ==> (φ ∨ ϑ ∨ τ) ∧ ψ --> ch
lemma MMI_mtbid:
[| φ --> ¬ ψ; φ --> ψ <-> ch |] ==> φ --> ¬ ch
lemma MMI_con1d:
φ --> ¬ ψ --> ch ==> φ --> ¬ ch --> ψ
lemma MMI_pm2_21nd:
φ --> ψ ==> φ --> ¬ ψ --> ch
lemma MMI_syl3an1b:
[| φ ∧ ψ ∧ ch --> ϑ; τ <-> φ |] ==> τ ∧ ψ ∧ ch --> ϑ
lemma MMI_adantld:
φ --> ψ --> ch ==> φ --> ϑ ∧ ψ --> ch
lemma MMI_adantrd:
φ --> ψ --> ch ==> φ --> ψ ∧ ϑ --> ch
lemma MMI_anasss:
(φ ∧ ψ) ∧ ch --> ϑ ==> φ ∧ ψ ∧ ch --> ϑ
lemma MMI_syl3an3b:
[| φ ∧ ψ ∧ ch --> ϑ; τ <-> ch |] ==> φ ∧ ψ ∧ τ --> ϑ
lemma MMI_mpbid:
[| φ --> ψ; φ --> ψ <-> ch |] ==> φ --> ch
lemma MMI_orbi12d:
[| φ --> ψ <-> ch; φ --> ϑ <-> τ |] ==> φ --> ψ ∨ ϑ <-> ch ∨ τ
lemma MMI_ianor:
¬ (φ ∧ ψ) <-> ¬ φ ∨ ¬ ψ
lemma MMI_bitr2:
[| φ <-> ψ; ψ <-> ch |] ==> ch <-> φ
lemma MMI_biimp:
φ <-> ψ ==> φ --> ψ
lemma MMI_mpan2d:
[| φ --> ch; φ --> ψ ∧ ch --> ϑ |] ==> φ --> ψ --> ϑ
lemma MMI_ad2antrr:
φ --> ψ ==> (φ ∧ ch) ∧ ϑ --> ψ
lemma MMI_biimpac:
φ --> ψ <-> ch ==> ψ ∧ φ --> ch
lemma MMI_con2bii:
φ <-> ¬ ψ ==> ψ <-> ¬ φ
lemma MMI_pm3_26bd:
φ <-> ψ ∧ ch ==> φ --> ψ