theory ProofNetwork imports Main begin definition bnot :: "bool \ bool" where "bnot a = (if a then False else True)" definition band :: "bool \ bool \ bool" where "band a b = (if a then b else False)" definition bor :: "bool \ bool \ bool" where "bor a b = (if a then True else b)" definition beq :: "bool \ bool \ bool" where "beq a b = (if a = b then True else False)" record doctrine_unit = doctrineValue :: int coherent :: bool lawful :: bool definition affirmedG6 :: "doctrine_unit \ doctrine_unit" where "affirmedG6 u = u\coherent := True, lawful := True\" definition necessary :: "('w \ 'w \ bool) \ ('w \ bool) \ 'w \ bool" where "necessary access claim w \ (\v. access w v \ claim v)" record logical_ground = lgNoncontradiction :: bool lgImplication :: bool lgExcludedMiddle :: bool lemma groundIdentityLaw_schema: "\x::'a. x = x" by simp definition groundIdentityLaw :: "logical_ground \ bool" where "groundIdentityLaw g \ True" definition constructiveLogos :: logical_ground where "constructiveLogos = \lgNoncontradiction = (\p. p \ (p \ False) \ False), lgImplication = (\p q. p \ (p \ q) \ q), lgExcludedMiddle = (\b. b = True \ b = False)\" fun iterations :: "('a \ 'a option) \ nat \ 'a \ nat" where "iterations step 0 s = 0" | "iterations step (Suc n) s = (case step s of None \ 0 | Some t \ iterations step n t + 1)" definition signedIntegerPower :: "int \ int" where "signedIntegerPower n = (if even n then 1 else -1)" definition dominantValue :: "int \ int \ int" where "dominantValue a b = (if abs a < abs b then b else a)" datatype mcb_expr = MCB_Balance int | MCB_Base int | MCB_Nest int mcb_expr | MCB_Power mcb_expr type_synonym mcb_program = mcb_expr type_synonym mcb_data = mcb_expr datatype mcb_type_code = MCBExprType definition mcb_program_code :: mcb_type_code where "mcb_program_code = MCBExprType" definition mcb_data_code :: mcb_type_code where "mcb_data_code = MCBExprType" datatype mcb_key = Key_Balance int | Key_Base int | Key_Nest int mcb_key | Key_Power mcb_key fun quoteMCB :: "mcb_expr \ mcb_key" where "quoteMCB (MCB_Balance n) = Key_Balance n" | "quoteMCB (MCB_Base n) = Key_Base n" | "quoteMCB (MCB_Nest n e) = Key_Nest n (quoteMCB e)" | "quoteMCB (MCB_Power e) = Key_Power (quoteMCB e)" fun unquoteMCB :: "mcb_key \ mcb_expr" where "unquoteMCB (Key_Balance n) = MCB_Balance n" | "unquoteMCB (Key_Base n) = MCB_Base n" | "unquoteMCB (Key_Nest n e) = MCB_Nest n (unquoteMCB e)" | "unquoteMCB (Key_Power e) = MCB_Power (unquoteMCB e)" definition phaseMCB :: "int \ int" where "phaseMCB n = (if n mod 2 = 0 then 1 else -1)" fun evalMCB :: "mcb_expr \ int" where "evalMCB (MCB_Balance n) = n" | "evalMCB (MCB_Base n) = phaseMCB n" | "evalMCB (MCB_Nest n e) = phaseMCB n + evalMCB e" | "evalMCB (MCB_Power e) = phaseMCB (evalMCB e)" definition evalMCBData :: "mcb_key \ int" where "evalMCBData d = evalMCB (unquoteMCB d)" fun reweightMCB :: "(int \ int) \ mcb_expr \ mcb_expr" where "reweightMCB f (MCB_Balance n) = MCB_Balance (f n)" | "reweightMCB f (MCB_Base n) = MCB_Base (f n)" | "reweightMCB f (MCB_Nest n e) = MCB_Nest (f n) (reweightMCB f e)" | "reweightMCB f (MCB_Power e) = MCB_Power (reweightMCB f e)" fun reweightMCBData :: "(int \ int) \ mcb_key \ mcb_key" where "reweightMCBData f (Key_Balance n) = Key_Balance (f n)" | "reweightMCBData f (Key_Base n) = Key_Base (f n)" | "reweightMCBData f (Key_Nest n e) = Key_Nest (f n) (reweightMCBData f e)" | "reweightMCBData f (Key_Power e) = Key_Power (reweightMCBData f e)" fun mcbContributions :: "mcb_expr \ int list" where "mcbContributions (MCB_Balance n) = [n]" | "mcbContributions (MCB_Base n) = [phaseMCB n]" | "mcbContributions (MCB_Nest n e) = phaseMCB n # mcbContributions e" | "mcbContributions (MCB_Power e) = [phaseMCB (evalMCB e)]" fun sumMCBData :: "int list \ int" where "sumMCBData [] = 0" | "sumMCBData (n # rest) = n + sumMCBData rest" definition normalizeMCB :: "mcb_expr \ mcb_expr" where "normalizeMCB e = MCB_Balance (evalMCB e)" definition mcbInitProgram :: mcb_expr where "mcbInitProgram = MCB_Nest (-1) (MCB_Nest 0 (MCB_Nest 1 (MCB_Nest 2 (MCB_Nest 3 (MCB_Nest 4 (MCB_Nest 5 (MCB_Base 6)))))))" definition mcbInitialization :: mcb_expr where "mcbInitialization = MCB_Power mcbInitProgram" definition compiledMCBInitBalance :: int where "compiledMCBInitBalance = 0" datatype role = Role_Ground | Role_Runtime fun signed :: "bool \ int" where "signed b = (if b then 1 else -1)" definition nativeNand :: "bool \ bool \ int" where "nativeNand p q = (-1) ^ nat (((1 + signed p) * (1 + signed q)) div 4)" fun sourceConjunction :: "bool list \ bool" where "sourceConjunction [] = True" | "sourceConjunction (x # xs) = (x \ sourceConjunction xs)" lemma fold_preserves_source: "foldl (\) acc xs = (acc \ sourceConjunction xs)" by (induction xs arbitrary: acc) auto definition encode :: "role \ int \ bool option" where "encode r v = (case r of Role_Ground \ (if v = -1 then Some True else None) | Role_Runtime \ (if v = 1 then Some True else if v = -1 then Some False else None))" definition cycleSigned :: "bool \ int" where "cycleSigned b = (if b then 1 else -1)" text \The coherent and lawful proof fields are erased: their only permitted Boolean value is True.\ record valid_cycle_unit = cycleValue :: int cycleState :: bool cycleDepth :: nat definition sevenChecks :: "valid_cycle_unit \ bool" where "sevenChecks u \ cycleValue u = cycleValue u \ \ (cycleSigned (cycleState u) = 1 \ cycleSigned (cycleState u) = -1) \ (cycleSigned (cycleState u) = 1 \ cycleSigned (cycleState u) = -1) \ (True = True \ True = True) \ cycleSigned (cycleState u) = cycleSigned (cycleState u) \ (cycleSigned (cycleState u) = 1 \ cycleSigned (cycleState u) = -1) \ 0 \ cycleDepth u" definition signatureSigned :: "bool \ int" where "signatureSigned b = (if b then 1 else -1)" fun signatureValue :: "bool list \ int" where "signatureValue [] = 1" | "signatureValue (b # bs) = signatureSigned b * signatureValue bs" record logical_signature = signatureSequence :: "bool list" signatureDepth :: nat signatureValueField :: int definition generatedSignature :: "int list \ (int \ bool) \ logical_signature" where "generatedSignature values parity = (let sequence = map parity values in \signatureSequence = sequence, signatureDepth = length sequence, signatureValueField = signatureValue sequence\)" definition signatureInvariants :: "logical_signature \ bool" where "signatureInvariants s \ signatureDepth s = length (signatureSequence s) \ signatureValueField s = signatureValue (signatureSequence s) \ (\b. b \ set (signatureSequence s) \ (signatureSigned b = 1 \ signatureSigned b = -1))" fun evenNat :: "nat \ bool" where "evenNat 0 = True" | "evenNat (Suc n) = (\ evenNat n)" lemma even_add: "evenNat (a + b) = (evenNat a = evenNat b)" by (induction b) auto definition exponentXorState :: "int \ int \ int" where "exponentXorState a b = (if evenNat (nat (abs a) + nat (abs b)) then 1 else -1)" definition statement_node0 :: bool where "statement_node0 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (band v0 v1) v2)) = True" definition statement_node1 :: bool where "statement_node1 \ \v0::bool. \v1::bool. (bor (bnot (beq v0 v1)) (beq v0 v1)) = True" definition statement_node2 :: bool where "statement_node2 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" definition statement_node3 :: bool where "statement_node3 \ \(a::nat). a = a" definition statement_node4 :: bool where "statement_node4 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node5 :: bool where "statement_node5 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node6 :: bool where "statement_node6 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node7 :: bool where "statement_node7 \ \(a::nat). a = a" definition statement_node8 :: bool where "statement_node8 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (bor (bnot v0) v1)) (bor (bnot v2) v3))) = True" definition statement_node9 :: bool where "statement_node9 \ \v0::bool. (bor (bnot (band v0 (bor (bnot v0) v0))) v0) = True" definition statement_node10 :: bool where "statement_node10 \ \(a::nat). a = a" definition statement_node11 :: bool where "statement_node11 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot (band (band v0 v1) v2)) v3))) v3) = True" definition statement_node12 :: bool where "statement_node12 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (bor (bnot v0) v1))) (band v0 v1)) = True" definition statement_node13 :: bool where "statement_node13 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v0) (beq v2 v1))) = True" definition statement_node14 :: bool where "statement_node14 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node15 :: bool where "statement_node15 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node16 :: bool where "statement_node16 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node17 :: bool where "statement_node17 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node18 :: bool where "statement_node18 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (band v0 v1)) (band v0 v2)) (band v0 v3)) v4)) (beq (bor (bnot v4) (band (band v0 v1) v2)) v3)) = True" definition statement_node19 :: bool where "statement_node19 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node20 :: bool where "statement_node20 \ \(a::nat). a = a" definition statement_node21 :: bool where "statement_node21 \ \v0::bool. (bor (bnot v0) v0) = True" definition statement_node22 :: bool where "statement_node22 \ \v0::bool. (bor (bnot v0) v0) = True" definition statement_node23 :: bool where "statement_node23 \ \v0::bool. \v1::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) v1) (bor (bnot v1) v0))) (band v0 v1)) = True" definition statement_node24 :: bool where "statement_node24 \ \v0::bool. \v1::bool. (bor (bnot (band (band (band v1 (beq v1 v0)) v0) (bor (bnot v0) v1))) (band v1 v0)) = True" definition statement_node25 :: bool where "statement_node25 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v1)) v1)) (band (beq (bnot v0) (bnot v1)) (beq v0 v1))) = True" definition statement_node26 :: bool where "statement_node26 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v0))) (bor (bnot v2) (band v0 v1))) = True" definition statement_node27 :: bool where "statement_node27 \ \(a::nat). a = a" definition statement_node28 :: bool where "statement_node28 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2))) (band (band v0 v1) v2)) = True" definition statement_node29 :: bool where "statement_node29 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node30 :: bool where "statement_node30 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" definition statement_node31 :: bool where "statement_node31 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (bor (bnot v0) v1))) (bor (bnot (bor (bnot v0) v0)) (bor (bnot v1) v1))) = True" definition statement_node32 :: bool where "statement_node32 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v0))) (band v0 v1)) = True" definition statement_node33 :: bool where "statement_node33 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2))) (bor (bnot v0) (beq (bor (bnot v1) v2) (bor (bnot v2) v1)))) = True" definition statement_node34 :: bool where "statement_node34 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node35 :: bool where "statement_node35 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node36 :: bool where "statement_node36 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v0) (beq v2 v1))) = True" definition statement_node37 :: bool where "statement_node37 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node38 :: bool where "statement_node38 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node39 :: bool where "statement_node39 \ \(a::nat). a = a" definition statement_node40 :: bool where "statement_node40 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node41 :: bool where "statement_node41 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node42 :: bool where "statement_node42 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node43 :: bool where "statement_node43 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node44 :: bool where "statement_node44 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node45 :: bool where "statement_node45 \ \(a::nat). a = a" definition statement_node46 :: bool where "statement_node46 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node47 :: bool where "statement_node47 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band v0 v1)) (bor (bnot v2) v3))) = True" definition statement_node48 :: bool where "statement_node48 \ \(a::nat). a = a" definition statement_node49 :: bool where "statement_node49 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (bor (bnot v2) (band v0 v1))) = True" definition statement_node50 :: bool where "statement_node50 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (bor (bnot v0) v1))) (bor (bnot (beq v0 (bor (bnot v0) (bnot (bor (bnot v0) (bnot v0)))))) (beq v1 v0))) = True" definition statement_node51 :: bool where "statement_node51 \ \(a::nat). a = a" definition statement_node52 :: bool where "statement_node52 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (bor (bnot v0) v1))) (bor (bnot (beq v0 (bor (bnot v0) (bnot (bor (bnot v0) (bnot v0)))))) (beq v1 v0))) = True" definition statement_node53 :: bool where "statement_node53 \ \(a::nat). a = a" definition statement_node54 :: bool where "statement_node54 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) v1))) (bor (bnot (band v0 v2)) v1)) = True" definition statement_node55 :: bool where "statement_node55 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v2) v0)) (bor (bnot v0) v3)) (bor (bnot v3) v4))) (band (band (band (band v0 v1) v2) v3) v4)) = True" definition statement_node56 :: bool where "statement_node56 \ \(a::nat). a = a" definition statement_node57 :: bool where "statement_node57 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" definition statement_node58 :: bool where "statement_node58 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" definition statement_node59 :: bool where "statement_node59 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (bor (bnot v0) v1) (bor (bnot v0) v2))) (bor (bnot v0) (beq (bor (bnot v1) v2) (bor (bnot v2) v1)))) = True" definition statement_node60 :: bool where "statement_node60 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" definition statement_node61 :: bool where "statement_node61 \ \v0::bool. (bor (bnot (beq v0 v0)) (band (band (bor v0 (bnot v0)) (beq v0 (bnot (bnot v0)))) (band (bor (bnot v0) v0) (bor (bnot (bnot v0)) (bnot v0))))) = True" definition statement_node62 :: bool where "statement_node62 \ \(a::nat). a = a" definition statement_node63 :: bool where "statement_node63 \ \v0::bool. (bor (bnot (beq v0 v0)) (bor v0 (bnot v0))) = True" definition statement_node64 :: bool where "statement_node64 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node65 :: bool where "statement_node65 \ \(a::nat). a = a" definition statement_node66 :: bool where "statement_node66 \ \v0::bool. (bor (bnot (band v0 (band v0 (bnot (bnot v0))))) (bor (bnot v0) (beq v0 (bnot (band v0 (bnot v0)))))) = True" definition statement_node67 :: bool where "statement_node67 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (bor (bnot v1) v2)) v0)) = True" definition statement_node68 :: bool where "statement_node68 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (bor (bnot v0) v1) (bor (bnot (band v0 v1)) v2))) (bor (bnot v0) (bor (bnot v0) (beq v1 v2)))) = True" definition statement_node69 :: bool where "statement_node69 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) v1))) (beq (bnot v1) (bnot (band v0 v2)))) = True" definition statement_node70 :: bool where "statement_node70 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" definition statement_node71 :: bool where "statement_node71 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 v1) v2) v3) v4) (bor (bnot v4) v5)) (beq v0 v4)) (bor (bnot v0) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node72 :: bool where "statement_node72 \ \(a::nat). a = a" definition statement_node73 :: bool where "statement_node73 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (beq (beq v3 v2) (beq v1 v0))) = True" definition statement_node74 :: bool where "statement_node74 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band v0 v1) v2) (bor (bnot v0) v1)) (bor (bnot v0) (bnot v2)))) (bor (bnot (band (band v0 v1) (bnot (band v0 (bnot v1))))) (bnot v2))) = True" definition statement_node75 :: bool where "statement_node75 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node76 :: bool where "statement_node76 \ \(condition::bool) (t::nat) e. (if condition then t else e) = t \ (if condition then t else e) = e" definition statement_node77 :: bool where "statement_node77 \ \(condition::bool) (t::nat) e. (if condition then t else e) = t \ (if condition then t else e) = e" definition statement_node78 :: bool where "statement_node78 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot (beq (band (band v0 v1) v2) v3)) v4)) = True" definition statement_node79 :: bool where "statement_node79 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v1 (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (band v1 v2) v0)) = True" definition statement_node80 :: bool where "statement_node80 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (bnot v1) (bor (bnot (bnot v1)) (bnot v2))) (bor (bnot (bnot v2)) (bnot v0)))) (band (band (bnot v1) (bnot v2)) (bnot v0))) = True" definition statement_node81 :: bool where "statement_node81 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (band (band v0 v1) v2)) = True" definition statement_node82 :: bool where "statement_node82 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (bor (bnot v5) v0))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node83 :: bool where "statement_node83 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. (bor (bnot (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6)) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" definition statement_node84 :: bool where "statement_node84 \ \(a::nat). a = a" definition statement_node85 :: bool where "statement_node85 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (beq v0 v1)) = True" definition statement_node86 :: bool where "statement_node86 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node87 :: bool where "statement_node87 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band (band v0 v1) v2) v3) v4)) = True" definition statement_node88 :: bool where "statement_node88 \ \(a::nat). a = a" definition statement_node89 :: bool where "statement_node89 \ \(access::nat\nat\bool) w (unfixed::bool list). necessary access (\_. \g::logical_ground. groundIdentityLaw g \ lgNoncontradiction g \ lgImplication g \ lgExcludedMiddle g) w" definition statement_node90 :: bool where "statement_node90 \ \(access::nat\nat\bool) w (unfixed::bool list). necessary access (\_. \g::logical_ground. groundIdentityLaw g \ lgNoncontradiction g \ lgImplication g \ lgExcludedMiddle g) w" definition statement_node91 :: bool where "statement_node91 \ \(a::nat). a = a" definition statement_node92 :: bool where "statement_node92 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot v0) (band (band v1 v2) v3))) = True" definition statement_node93 :: bool where "statement_node93 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (band (band v0 v1) v2)) = True" definition statement_node94 :: bool where "statement_node94 \ \(a::nat). a = a" definition statement_node95 :: bool where "statement_node95 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node96 :: bool where "statement_node96 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (beq (bor (bnot (band v0 v1)) (band v2 v3)) v4)) = True" definition statement_node97 :: bool where "statement_node97 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (beq (beq v0 v1) (beq v1 v0))) = True" definition statement_node98 :: bool where "statement_node98 \ \(a::nat). a = a" definition statement_node99 :: bool where "statement_node99 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) (bor (bnot v2) (beq v0 v1)))) = True" definition statement_node100 :: bool where "statement_node100 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" definition statement_node101 :: bool where "statement_node101 \ \v0::bool. \v1::bool. (bor (bnot (band (band (band (band (band v0 v1) (beq v0 v1)) (beq v1 v0)) v1) v0)) (beq (band v0 v1) (band v1 v0))) = True" definition statement_node102 :: bool where "statement_node102 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (bor (bnot v0) v1))) (band v0 v1)) = True" definition statement_node103 :: bool where "statement_node103 \ \(a::nat). a = a" definition statement_node104 :: bool where "statement_node104 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node105 :: bool where "statement_node105 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" definition statement_node106 :: bool where "statement_node106 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (bor (bnot v0) v0)) (band (bor (bnot v0) v0) (band (bor (bnot v1) v1) (bor (bnot v2) v2)))) = True" definition statement_node107 :: bool where "statement_node107 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v2)) v1)) = True" definition statement_node108 :: bool where "statement_node108 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. \v7::bool. \v8::bool. \v9::bool. (bor (bnot (band (band (band (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6) v7) v8) v9)) (band (band (band (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6) v7) v8) v9)) = True" definition statement_node109 :: bool where "statement_node109 \ \(a::nat). a = a" definition statement_node110 :: bool where "statement_node110 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node111 :: bool where "statement_node111 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 v1) v2) (band (bor (bnot v0) v1) v2))) (beq (band v1 v2) v0)) = True" definition statement_node112 :: bool where "statement_node112 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node113 :: bool where "statement_node113 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" definition statement_node114 :: bool where "statement_node114 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node115 :: bool where "statement_node115 \ \(a::nat). a = a" definition statement_node116 :: bool where "statement_node116 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" definition statement_node117 :: bool where "statement_node117 \ \u. coherent (affirmedG6 u) = True \ lawful (affirmedG6 u) = True" definition statement_node118 :: bool where "statement_node118 \ \u. coherent (affirmedG6 u) = True \ lawful (affirmedG6 u) = True" definition statement_node119 :: bool where "statement_node119 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) v3)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node120 :: bool where "statement_node120 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (beq (band v0 v1) v2)) = True" definition statement_node121 :: bool where "statement_node121 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node122 :: bool where "statement_node122 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (beq (beq (band v0 v1) (band v2 v3)) (band v4 v5))) = True" definition statement_node123 :: bool where "statement_node123 \ \(a::nat). a = a" definition statement_node124 :: bool where "statement_node124 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (band (bor (bnot v2) v0) (bor (bnot v0) v1))) = True" definition statement_node125 :: bool where "statement_node125 \ \v0::bool. (bor (bnot (band v0 (beq v0 v0))) (beq v0 (bor (bnot v0) (bnot (bor (bnot v0) (bnot v0)))))) = True" definition statement_node126 :: bool where "statement_node126 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v2 (bor (bnot v2) v1)) (bor (bnot (band v2 v1)) v3)) (bor (bnot v3) v0))) v0) = True" definition statement_node127 :: bool where "statement_node127 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (beq v0 v1))) (band v0 v1)) = True" definition statement_node128 :: bool where "statement_node128 \ \(a::nat). a = a" definition statement_node129 :: bool where "statement_node129 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node130 :: bool where "statement_node130 \ \(a::nat). a = a" definition statement_node131 :: bool where "statement_node131 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 v1) v2) (bor (bnot v2) (bnot (band v0 v1))))) (bor (bnot v0) (band v1 v2))) = True" definition statement_node132 :: bool where "statement_node132 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) v2) (bor (bnot v2) v1)) v1)) (band (band v0 v1) v2)) = True" definition statement_node133 :: bool where "statement_node133 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node134 :: bool where "statement_node134 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) v4) = True" definition statement_node135 :: bool where "statement_node135 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node136 :: bool where "statement_node136 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node137 :: bool where "statement_node137 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node138 :: bool where "statement_node138 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (beq (beq v3 v2) (beq v1 v0))) = True" definition statement_node139 :: bool where "statement_node139 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) v3) (beq v0 v4)) (bor (bnot v4) v3))) (bor (bnot v4) (band (band v0 v1) (band v2 v3)))) = True" definition statement_node140 :: bool where "statement_node140 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) (band v0 v1)))) v1) = True" definition statement_node141 :: bool where "statement_node141 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node142 :: bool where "statement_node142 \ \(a::nat). a = a" definition statement_node143 :: bool where "statement_node143 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (beq v1 v0)) v2)) = True" definition statement_node144 :: bool where "statement_node144 \ \(a::nat). a = a" definition statement_node145 :: bool where "statement_node145 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node146 :: bool where "statement_node146 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (beq v1 v0) (bnot v0)) (bor (bnot (bnot v0)) v2)) (beq v2 v3))) (band (band (bnot v0) (bnot v1)) (band v2 v3))) = True" definition statement_node147 :: bool where "statement_node147 \ \(a::nat). a = a" definition statement_node148 :: bool where "statement_node148 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) v0)) v3) (bor (bnot v3) v0))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node149 :: bool where "statement_node149 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v2) v1)) (beq (beq v0 v2) v1)) = True" definition statement_node150 :: bool where "statement_node150 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (beq v0 v1) v2)) = True" definition statement_node151 :: bool where "statement_node151 \ \(a::nat). a = a" definition statement_node152 :: bool where "statement_node152 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1)) v1)) (band (band v0 v1) v2)) = True" definition statement_node153 :: bool where "statement_node153 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" definition statement_node154 :: bool where "statement_node154 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node155 :: bool where "statement_node155 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node156 :: bool where "statement_node156 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node157 :: bool where "statement_node157 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node158 :: bool where "statement_node158 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node159 :: bool where "statement_node159 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node160 :: bool where "statement_node160 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node161 :: bool where "statement_node161 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node162 :: bool where "statement_node162 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v0)) (bor (bnot (bor (bnot v0) v0)) (bnot (bor (bnot v1) v0)))) (bor (bnot v0) v2))) (band (band v0 (bnot v1)) v2)) = True" definition statement_node163 :: bool where "statement_node163 \ \(a::nat). a = a" definition statement_node164 :: bool where "statement_node164 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (band (band v0 v1) v2)) = True" definition statement_node165 :: bool where "statement_node165 \ \v0::bool. (bor (bnot v0) v0) = True" definition statement_node166 :: bool where "statement_node166 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (beq v2 (band v0 v1))) = True" definition statement_node167 :: bool where "statement_node167 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" definition statement_node168 :: bool where "statement_node168 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node169 :: bool where "statement_node169 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (bor (bnot (band v0 v1)) v2)) (bor (bnot v0) (bor (bnot v1) v2))) = True" definition statement_node170 :: bool where "statement_node170 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v2) v1)) = True" definition statement_node171 :: bool where "statement_node171 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v2) v1)) = True" definition statement_node172 :: bool where "statement_node172 \ \(a::nat). a = a" definition statement_node173 :: bool where "statement_node173 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" definition statement_node174 :: bool where "statement_node174 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" definition statement_node175 :: bool where "statement_node175 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" definition statement_node176 :: bool where "statement_node176 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (beq v0 (beq v1 v2))) = True" definition statement_node177 :: bool where "statement_node177 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (band (band (band (band v0 v1) v2) v3) v4)) = True" definition statement_node178 :: bool where "statement_node178 \ \(a::nat). a = a" definition statement_node179 :: bool where "statement_node179 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v0) (bnot (bnot (band (band v0 v1) v2))))) = True" definition statement_node180 :: bool where "statement_node180 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node181 :: bool where "statement_node181 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node182 :: bool where "statement_node182 \ \(a::nat). a = a" definition statement_node183 :: bool where "statement_node183 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node184 :: bool where "statement_node184 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band v0 v1)) (band v2 v3))) = True" definition statement_node185 :: bool where "statement_node185 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node186 :: bool where "statement_node186 \ \(a::nat). a = a" definition statement_node187 :: bool where "statement_node187 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node188 :: bool where "statement_node188 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node189 :: bool where "statement_node189 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 v1) v2) (bor (bnot v2) (bor (bnot v1) v0)))) (bor (bnot (beq v2 (bor (bnot v2) (bnot (bor (bnot v2) (bnot v2)))))) (bor (bnot v1) v0))) = True" definition statement_node190 :: bool where "statement_node190 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (beq v0 v1))) (band v0 v1)) = True" definition statement_node191 :: bool where "statement_node191 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (beq v3 v4))) (beq (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node192 :: bool where "statement_node192 \ \(a::nat). a = a" definition statement_node193 :: bool where "statement_node193 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node194 :: bool where "statement_node194 \ \v0::bool. (bor (bnot (beq v0 v0)) (beq v0 v0)) = True" definition statement_node195 :: bool where "statement_node195 \ \v0::bool. \v1::bool. (bor (bnot (beq v0 v1)) (beq v0 v1)) = True" definition statement_node196 :: bool where "statement_node196 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v0))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node197 :: bool where "statement_node197 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v3 v0))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node198 :: bool where "statement_node198 \ \(a::nat). a = a" definition statement_node199 :: bool where "statement_node199 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" definition statement_node200 :: bool where "statement_node200 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v4 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (beq (beq (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node201 :: bool where "statement_node201 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (beq v0 v1)) = True" definition statement_node202 :: bool where "statement_node202 \ \(a::nat). a = a" definition statement_node203 :: bool where "statement_node203 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v3 v1) v2) v0)) (beq (band (bor (bnot v3) v1) (bor (bnot v2) v1)) v0)) = True" definition statement_node204 :: bool where "statement_node204 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v2) v1)) (band (band v0 v2) v1)) = True" definition statement_node205 :: bool where "statement_node205 \ \(a::nat). a = a" definition statement_node206 :: bool where "statement_node206 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2))) (band (band v0 v1) v2)) = True" definition statement_node207 :: bool where "statement_node207 \ \(a::nat). a = a" definition statement_node208 :: bool where "statement_node208 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) v2)) (beq v0 (band v1 v2))) = True" definition statement_node209 :: bool where "statement_node209 \ \(a::nat). a = a" definition statement_node210 :: bool where "statement_node210 \ \(a::nat). a = a" definition statement_node211 :: bool where "statement_node211 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v0))) (band v0 v1)) = True" definition statement_node212 :: bool where "statement_node212 \ \(a::nat). a = a" definition statement_node213 :: bool where "statement_node213 \ \(a::nat). a = a" definition statement_node214 :: bool where "statement_node214 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node215 :: bool where "statement_node215 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (beq v0 v2)) = True" definition statement_node216 :: bool where "statement_node216 \ \(a::nat). a = a" definition statement_node217 :: bool where "statement_node217 \ \v0::bool. \v1::bool. (bor (bnot (bor (bnot v0) v1)) (bor (bnot v0) v1)) = True" definition statement_node218 :: bool where "statement_node218 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v2) (band v0 v1))) = True" definition statement_node219 :: bool where "statement_node219 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node220 :: bool where "statement_node220 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node221 :: bool where "statement_node221 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band v0 (bor (bnot v0) (bor (bnot v1) v2)))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node222 :: bool where "statement_node222 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band (band (band v0 v1) (bor (bnot v0) v1)) (bor (bnot v1) v0)) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1))) (band (band v0 v1) v2)) = True" definition statement_node223 :: bool where "statement_node223 \ \(a::nat). a = a" definition statement_node224 :: bool where "statement_node224 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v1 v0)) (beq v2 v0))) (beq v2 (beq v1 v0))) = True" definition statement_node225 :: bool where "statement_node225 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (bor (bnot v1) v2))) (beq (band v0 v2) v1)) = True" definition statement_node226 :: bool where "statement_node226 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) (band v0 v1))) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" definition statement_node227 :: bool where "statement_node227 \ \(a::nat). a = a" definition statement_node228 :: bool where "statement_node228 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v1 v2) v0)) (bor v1 v2)) = True" definition statement_node229 :: bool where "statement_node229 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" definition statement_node230 :: bool where "statement_node230 \ \(a::nat). a = a" definition statement_node231 :: bool where "statement_node231 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node232 :: bool where "statement_node232 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" definition statement_node233 :: bool where "statement_node233 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v0))) (beq (band v0 v1) v2)) = True" definition statement_node234 :: bool where "statement_node234 \ \(a::nat). a = a" definition statement_node235 :: bool where "statement_node235 \ \v0::bool. \v1::bool. (bor (bnot (beq v0 v1)) (beq v0 v1)) = True" definition statement_node236 :: bool where "statement_node236 \ \v0::bool. \v1::bool. (bor (bnot (beq v0 v1)) (beq v0 v1)) = True" definition statement_node237 :: bool where "statement_node237 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node238 :: bool where "statement_node238 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) v3) = True" definition statement_node239 :: bool where "statement_node239 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) (beq v1 v2))) (beq (beq v2 v1) v2))) (beq (beq v0 v1) v2)) = True" definition statement_node240 :: bool where "statement_node240 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" definition statement_node241 :: bool where "statement_node241 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (beq (band v2 v1) v0)) = True" definition statement_node242 :: bool where "statement_node242 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 (bnot v3))) (bnot v3))) (band (band v0 v1) (band v2 (bnot v3)))) = True" definition statement_node243 :: bool where "statement_node243 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band (bnot v0) (beq (bnot v0) (bnot v1))) (beq (bnot v1) (bnot v2))) (beq (bnot v2) v3)) v3)) (band (bnot (band v0 v1)) (band (bnot v2) v3))) = True" definition statement_node244 :: bool where "statement_node244 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node245 :: bool where "statement_node245 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v1) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node246 :: bool where "statement_node246 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node247 :: bool where "statement_node247 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (beq v2 (beq v1 v0))) = True" definition statement_node248 :: bool where "statement_node248 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v2)) (bor (bnot v2) v1))) (beq v2 (bor (bnot (bor (bnot v2) (bnot (beq v0 (bnot v2))))) v1))) = True" definition statement_node249 :: bool where "statement_node249 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v2)) (bor (bnot v2) v1))) (beq v2 (bor (bnot (bor (bnot v2) (bnot (beq v0 (bnot v2))))) v1))) = True" definition statement_node250 :: bool where "statement_node250 \ \(step::nat\nat option) fuel s. iterations step fuel s \ fuel" definition statement_node251 :: bool where "statement_node251 \ \(step::nat\nat option) fuel s. iterations step fuel s \ fuel" definition statement_node252 :: bool where "statement_node252 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot (bor (bnot (band v0 v1)) (band v2 v3))) v4)) = True" definition statement_node253 :: bool where "statement_node253 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (bor (bnot v5) (band (band (band v0 v1) (band v2 v3)) v4))) = True" definition statement_node254 :: bool where "statement_node254 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" definition statement_node255 :: bool where "statement_node255 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v0)) (beq v0 (bnot v1)))) (band v0 (bnot v1))) = True" definition statement_node256 :: bool where "statement_node256 \ \(a::nat). a = a" definition statement_node257 :: bool where "statement_node257 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node258 :: bool where "statement_node258 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node259 :: bool where "statement_node259 \ \n::int. signedIntegerPower n = 1 \ signedIntegerPower n = -1" definition statement_node260 :: bool where "statement_node260 \ \n::int. signedIntegerPower n = 1 \ signedIntegerPower n = -1" definition statement_node261 :: bool where "statement_node261 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot v4) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0)))) = True" definition statement_node262 :: bool where "statement_node262 \ \b. (if b then (1::int) else -1) = 1 \ (if b then (1::int) else -1) = -1" definition statement_node263 :: bool where "statement_node263 \ \b. (if b then (1::int) else -1) = 1 \ (if b then (1::int) else -1) = -1" definition statement_node264 :: bool where "statement_node264 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 v1) (bor (bnot v1) v0))) (bor (bnot v1) (band v0 (bnot (bnot v0))))) = True" definition statement_node265 :: bool where "statement_node265 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band v0 v1) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v0)) (bor (bnot (band v3 v0)) v4))) (bor (bnot v3) (band v0 v4))) = True" definition statement_node266 :: bool where "statement_node266 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node267 :: bool where "statement_node267 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" definition statement_node268 :: bool where "statement_node268 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node269 :: bool where "statement_node269 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (beq (beq v2 v1) v0)) v3)) = True" definition statement_node270 :: bool where "statement_node270 \ \(a::nat). a = a" definition statement_node271 :: bool where "statement_node271 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 (bnot v2)))) (band (band v0 v1) (bnot v2))) = True" definition statement_node272 :: bool where "statement_node272 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot (bor (bnot (band v0 v1)) (band v2 v3))) v4)) = True" definition statement_node273 :: bool where "statement_node273 \ \(a::nat). a = a" definition statement_node274 :: bool where "statement_node274 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band (band (band (band (band v0 (beq v0 v1)) (beq v0 v2)) v1) (bor (bnot v1) v0)) v0) (bor (bnot v1) v2)) v2) (bor (bnot v2) v3)) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node275 :: bool where "statement_node275 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band v1 (beq v1 v2)) (beq v2 v0)) (beq v0 v0)) v0)) (band (band (beq v1 v2) (band v1 v2)) v0)) = True" definition statement_node276 :: bool where "statement_node276 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band (band (band (band (band (band (band (band (band (band (band v3 (beq v3 v5)) (beq v3 v2)) (beq v5 v4)) (beq v2 v4)) (beq v2 v5)) (beq v3 v4)) (beq v3 v5)) (beq v5 v0)) (beq v3 v0)) (beq v0 v1)) (beq v1 v1)) v3) v2) v5) v4) v0) v1)) (band (band (band (band v3 v5) (band v2 v4)) v0) v1)) = True" definition statement_node277 :: bool where "statement_node277 \ \(a::nat). a = a" definition statement_node278 :: bool where "statement_node278 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. (bor (bnot (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node279 :: bool where "statement_node279 \ \(a::nat). a = a" definition statement_node280 :: bool where "statement_node280 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node281 :: bool where "statement_node281 \ \(a::nat). a = a" definition statement_node282 :: bool where "statement_node282 \ \v0::bool. (bor (bnot v0) v0) = True" definition statement_node283 :: bool where "statement_node283 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v2 v0) v1)) (band (beq v2 v0) v1)) = True" definition statement_node284 :: bool where "statement_node284 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v3 v1) v2) v0)) (beq (beq v3 v1) (beq v1 v0))) = True" definition statement_node285 :: bool where "statement_node285 \ \v0::bool. \v1::bool. (bor (bnot (beq v0 v1)) (beq v0 v1)) = True" definition statement_node286 :: bool where "statement_node286 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node287 :: bool where "statement_node287 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (bor (bnot v0) v1))) (beq v0 v1)) = True" definition statement_node288 :: bool where "statement_node288 \ \(a::nat). a = a" definition statement_node289 :: bool where "statement_node289 \ \(a::nat). a = a" definition statement_node290 :: bool where "statement_node290 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (beq v1 v2))) (bor (bnot (bor (bnot v2) v0)) v1)) = True" definition statement_node291 :: bool where "statement_node291 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band (band (band (band v0 v1) v2) v3) v4) (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot v4) (beq (band v0 v1) (band v2 v3)))) = True" definition statement_node292 :: bool where "statement_node292 \ \(a::nat). a = a" definition statement_node293 :: bool where "statement_node293 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (bor (bnot (band v0 v1)) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node294 :: bool where "statement_node294 \ \value::int. - (- value) = value" definition statement_node295 :: bool where "statement_node295 \ \value::int. - (- value) = value" definition statement_node296 :: bool where "statement_node296 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node297 :: bool where "statement_node297 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (band (band v0 v1) v2)) = True" definition statement_node298 :: bool where "statement_node298 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" definition statement_node299 :: bool where "statement_node299 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (bor (bnot v0) v1)) v2)) = True" definition statement_node300 :: bool where "statement_node300 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (band v0 v1)) (bor (bnot v1) v2)) (beq v0 v3))) (bor (bnot (bor (bnot v3) (band v0 v1))) v2)) = True" definition statement_node301 :: bool where "statement_node301 \ \(a::nat). a = a" definition statement_node302 :: bool where "statement_node302 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (band v0 v1) v2)) = True" definition statement_node303 :: bool where "statement_node303 \ \(a::nat). a = a" definition statement_node304 :: bool where "statement_node304 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (band (band (bor (bnot v0) v1) (beq v1 v2)) (bor (bnot v1) v2))) = True" definition statement_node305 :: bool where "statement_node305 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node306 :: bool where "statement_node306 \ \a b::int. abs a \ abs b \ dominantValue a b = dominantValue b a" definition statement_node307 :: bool where "statement_node307 \ \a b::int. abs a \ abs b \ dominantValue a b = dominantValue b a" definition statement_node308 :: bool where "statement_node308 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3)) (bor (bnot v3) v4))) (beq v4 (band (beq v3 v2) (beq v1 v0)))) = True" definition statement_node309 :: bool where "statement_node309 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band v0 v1) v2) (beq v0 v1)) (bor (bnot v2) (band v0 v1)))) (beq (band v0 v1) v2)) = True" definition statement_node310 :: bool where "statement_node310 \ \v0::bool. (bor (bnot v0) v0) = True" definition statement_node311 :: bool where "statement_node311 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node312 :: bool where "statement_node312 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v1 (bor (bnot v1) v2)) (beq v2 v3)) (bor (bnot v3) v0))) (band (band v1 v2) (band v3 v0))) = True" definition statement_node313 :: bool where "statement_node313 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v2 (bor (bnot v2) v3)) (beq v3 v0)) (bor (bnot v0) v1))) (band (band v2 v3) (band v0 v1))) = True" definition statement_node314 :: bool where "statement_node314 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v3 (bor (bnot v3) v0)) (beq v0 v1)) (bor (bnot v1) v2))) (band (band v3 v0) (band v1 v2))) = True" definition statement_node315 :: bool where "statement_node315 \ \(a::nat). a = a" definition statement_node316 :: bool where "statement_node316 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node317 :: bool where "statement_node317 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v1 (bor (bnot v1) v2)) (beq v2 v3)) (bor (bnot v3) v0))) (band (band v1 v2) (band v3 v0))) = True" definition statement_node318 :: bool where "statement_node318 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v2 (bor (bnot v2) v3)) (beq v3 v0)) (bor (bnot v0) v1))) (band (band v2 v3) (band v0 v1))) = True" definition statement_node319 :: bool where "statement_node319 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v3 (bor (bnot v3) v0)) (beq v0 v1)) (bor (bnot v1) v2))) (band (band v3 v0) (band v1 v2))) = True" definition statement_node320 :: bool where "statement_node320 \ \(a::nat). a = a" definition statement_node321 :: bool where "statement_node321 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node322 :: bool where "statement_node322 \ \(a::nat). a = a" definition statement_node323 :: bool where "statement_node323 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" definition statement_node324 :: bool where "statement_node324 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node325 :: bool where "statement_node325 \ \(a::nat). a = a" definition statement_node326 :: bool where "statement_node326 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node327 :: bool where "statement_node327 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" definition statement_node328 :: bool where "statement_node328 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" definition statement_node329 :: bool where "statement_node329 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" definition statement_node330 :: bool where "statement_node330 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" definition statement_node331 :: bool where "statement_node331 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band (band v0 v1) v2) v3) v4)) = True" definition statement_node332 :: bool where "statement_node332 \ \(a::nat). a = a" definition statement_node333 :: bool where "statement_node333 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v3 (bor (bnot v3) v0)) (band v0 v1)) (bor (bnot v3) v2))) (beq (bor (bnot (band v0 v1)) v2) v3)) = True" definition statement_node334 :: bool where "statement_node334 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (band v1 v2)) (bor (bnot v0) v3))) (beq (bor (bnot (band v0 v1)) v2) v3)) = True" definition statement_node335 :: bool where "statement_node335 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (bor (bnot v2) v0)) (bor (bnot v2) v1))) (bor (bnot v2) (band v0 v1))) = True" definition statement_node336 :: bool where "statement_node336 \ \(a::nat). a = a" definition statement_node337 :: bool where "statement_node337 \ \(a::nat). a = a" definition statement_node338 :: bool where "statement_node338 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node339 :: bool where "statement_node339 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" definition statement_node340 :: bool where "statement_node340 \ \(a::nat). a = a" definition statement_node341 :: bool where "statement_node341 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. (bor (bnot (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v6))) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" definition statement_node342 :: bool where "statement_node342 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node343 :: bool where "statement_node343 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node344 :: bool where "statement_node344 \ \(a::nat). a = a" definition statement_node345 :: bool where "statement_node345 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node346 :: bool where "statement_node346 \ \(a::nat). a = a" definition statement_node347 :: bool where "statement_node347 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot (band v0 v1)) v2)) v3) (bor (bnot v3) v4)) (bor (bnot (band v3 v4)) v5))) v5) = True" definition statement_node348 :: bool where "statement_node348 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 v1) (bnot (bnot (band v0 v1))))) (band (band v0 (bnot (bnot v0))) (band v1 (bnot (bnot v1))))) = True" definition statement_node349 :: bool where "statement_node349 \ \v0::bool. \v1::bool. (bor (bnot (band (band (band (beq v0 v1) v1) (bor (bnot v1) v0)) v0)) (band v0 v1)) = True" definition statement_node350 :: bool where "statement_node350 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band (band (band (band (band (band (band (band (band (band (band v0 v1) v2) (beq v0 v1)) (beq v0 v2)) (beq v1 v0)) (beq v1 v2)) (beq v2 v0)) (beq v2 v1)) (beq v0 v0)) (beq v1 v1)) (beq v2 v2)) v0) v1) v2)) (band (band v0 v1) v2)) = True" definition statement_node351 :: bool where "statement_node351 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band (band (band (band (band v0 v1) v2) (beq v0 v0)) (beq v1 v1)) (beq v2 v2)) v0) v1) v2)) (band (band v0 v1) v2)) = True" definition statement_node352 :: bool where "statement_node352 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (beq v0 v1) (beq v1 v2)) (beq v2 v3))) (beq (band v0 v1) (band v2 v3))) = True" definition statement_node353 :: bool where "statement_node353 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. (bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (bor (bnot v5) v6))) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" definition statement_node354 :: bool where "statement_node354 \ \(a::nat). a = a" definition statement_node355 :: bool where "statement_node355 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" definition statement_node356 :: bool where "statement_node356 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" definition statement_node357 :: bool where "statement_node357 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (bor (bnot (bor (bnot v2) v1)) v0)) = True" definition statement_node358 :: bool where "statement_node358 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node359 :: bool where "statement_node359 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" definition statement_node360 :: bool where "statement_node360 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node361 :: bool where "statement_node361 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) v5)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node362 :: bool where "statement_node362 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node363 :: bool where "statement_node363 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node364 :: bool where "statement_node364 \ \(a::nat). a = a" definition statement_node365 :: bool where "statement_node365 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node366 :: bool where "statement_node366 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node367 :: bool where "statement_node367 \ \(a::nat). a = a" definition statement_node368 :: bool where "statement_node368 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node369 :: bool where "statement_node369 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2)) (bor (bnot v0) (beq v1 v2))) v3) (bor (bnot v3) v4)) (bor (bnot v4) (band (band v0 v1) v2)))) (beq v0 (beq v1 v2))) = True" definition statement_node370 :: bool where "statement_node370 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (beq v2 v0) (beq v1 v0))) = True" definition statement_node371 :: bool where "statement_node371 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band v0 (bor (bnot v0) (band v1 v2)))) v2) = True" definition statement_node372 :: bool where "statement_node372 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (bor (bnot v0) v2) (bor (bnot v2) v1))) (bor (bnot (band v0 v2)) v1)) = True" definition statement_node373 :: bool where "statement_node373 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v2 (bor (bnot v2) v1)) (bor (bnot (bor (bnot v2) v1)) v0))) (bor (bnot v2) (bnot (band v2 (bnot (band v1 v0)))))) = True" definition statement_node374 :: bool where "statement_node374 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node375 :: bool where "statement_node375 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node376 :: bool where "statement_node376 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) v3) (bor (bnot v3) v0)) v0) v1) v2)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node377 :: bool where "statement_node377 \ \v0::bool. \v1::bool. (bor (bnot (band v0 v1)) (band v0 v1)) = True" definition statement_node378 :: bool where "statement_node378 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" definition statement_node379 :: bool where "statement_node379 \ \(a::nat). a = a" definition statement_node380 :: bool where "statement_node380 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" definition statement_node381 :: bool where "statement_node381 \ \(a::nat). a = a" definition statement_node382 :: bool where "statement_node382 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (bor (bnot v0) (band v0 v1))) (band v0 (band v1 v2)))) = True" definition statement_node383 :: bool where "statement_node383 \ \(a::nat). a = a" definition statement_node384 :: bool where "statement_node384 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band (band v0 v1) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1))) (bor (bnot v2) (band v0 v1))) = True" definition statement_node385 :: bool where "statement_node385 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band (band (band v0 (beq v0 v1)) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1)) v3) (bor (bnot v3) v5)) v4) (bor (bnot v4) v5)) v5)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node386 :: bool where "statement_node386 \ \(a::nat). a = a" definition statement_node387 :: bool where "statement_node387 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (beq v5 v0))) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node388 :: bool where "statement_node388 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (beq v5 v0))) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" definition statement_node389 :: bool where "statement_node389 \ \(a::nat). a = a" definition statement_node390 :: bool where "statement_node390 \ \u. sevenChecks u" definition statement_node391 :: bool where "statement_node391 \ \(a::nat). a = a" definition statement_node392 :: bool where "statement_node392 \ \u. sevenChecks u" definition statement_node393 :: bool where "statement_node393 \ \(a::nat). a = a" definition statement_node394 :: bool where "statement_node394 \ \values parity. signatureInvariants (generatedSignature values parity)" definition statement_node395 :: bool where "statement_node395 \ \values parity. signatureInvariants (generatedSignature values parity)" definition statement_node396 :: bool where "statement_node396 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" definition statement_node397 :: bool where "statement_node397 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node398 :: bool where "statement_node398 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node399 :: bool where "statement_node399 \ \v0::bool. \v1::bool. (bor (bnot (band v0 (beq v0 v1))) (beq v1 v0)) = True" definition statement_node400 :: bool where "statement_node400 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band v0 (bor (bnot v0) (band v1 v2)))) (beq v2 (band v1 v0))) = True" definition statement_node401 :: bool where "statement_node401 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 v1) (beq v0 v1))) (band (band v0 v1) (bnot (bnot (band v0 v1))))) = True" definition statement_node402 :: bool where "statement_node402 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" definition statement_node403 :: bool where "statement_node403 \ \(a::nat). a = a" definition statement_node404 :: bool where "statement_node404 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node405 :: bool where "statement_node405 \ \(a::nat). a = a" definition statement_node406 :: bool where "statement_node406 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node407 :: bool where "statement_node407 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node408 :: bool where "statement_node408 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" definition statement_node409 :: bool where "statement_node409 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" definition statement_node410 :: bool where "statement_node410 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" definition statement_node411 :: bool where "statement_node411 \ \(a::nat). a = a" definition statement_node412 :: bool where "statement_node412 \ \v0::bool. \v1::bool. (bor (bnot (bor (bnot v0) v1)) (bor (bnot (bor (bnot v0) v0)) (bor (bnot v1) v1))) = True" definition statement_node413 :: bool where "statement_node413 \ \(a::nat). a = a" definition statement_node414 :: bool where "statement_node414 \ \v0::bool. (bor (bnot (band v0 (beq v0 (bnot (bor (bnot v0) (band v0 (bnot v0))))))) (band v0 (bnot (bnot v0)))) = True" definition statement_node415 :: bool where "statement_node415 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node416 :: bool where "statement_node416 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (band (band v0 v1) (band v2 v3)) (bnot (band (band v0 v1) (band v2 v3))))) = True" definition statement_node417 :: bool where "statement_node417 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (beq (band (band v0 v1) (band v2 v3)) (band v4 v5))) = True" definition statement_node418 :: bool where "statement_node418 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (beq (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node419 :: bool where "statement_node419 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (beq (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node420 :: bool where "statement_node420 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band (band v0 v1) v2)) v3)) = True" definition statement_node421 :: bool where "statement_node421 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node422 :: bool where "statement_node422 \ \(a::nat). a = a" definition statement_node423 :: bool where "statement_node423 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band (band v0 v1) v2)) v3)) = True" definition statement_node424 :: bool where "statement_node424 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node425 :: bool where "statement_node425 \ \(a::nat). a = a" definition statement_node426 :: bool where "statement_node426 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node427 :: bool where "statement_node427 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" definition statement_node428 :: bool where "statement_node428 \ \v0::bool. \v1::bool. (bor (bnot (band (band (band (band (band v0 v1) (bor (bnot v0) v1)) (bor (bnot v1) v0)) (beq v0 v1)) (band v0 v1))) (band (band (bor (bnot v0) v1) (bor (bnot v1) v0)) (band v0 v1))) = True" definition statement_node429 :: bool where "statement_node429 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (bor (bnot v0) v1) (bor (bnot v0) v2))) (bor (bnot v0) (band v1 v2))) = True" definition statement_node430 :: bool where "statement_node430 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (band v0 v1)) (band v1 v2)) (band v2 v3))) (beq (beq v0 v1) (beq v2 v3))) = True" definition statement_node431 :: bool where "statement_node431 \ \(a::nat). a = a" definition statement_node432 :: bool where "statement_node432 \ \(a::nat). a = a" definition statement_node433 :: bool where "statement_node433 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node434 :: bool where "statement_node434 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (bor (bnot (bor (bnot v0) v0)) v1) (bor (bnot v1) v2))) (band (bor (bnot (bor (bnot (bor (bnot v0) v0)) v1)) v2) (bor (bnot (bor (bnot (bor (bnot v0) v0)) (bnot v1))) (bnot v2)))) = True" definition statement_node435 :: bool where "statement_node435 \ \(a::nat). a = a" definition statement_node436 :: bool where "statement_node436 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band (band v0 v1) v2) v3)) = True" definition statement_node437 :: bool where "statement_node437 \ \(a::nat). a = a" definition statement_node438 :: bool where "statement_node438 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node439 :: bool where "statement_node439 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 v1) v2)) (beq (beq (beq v0 v1) (beq v1 v2)) (beq v2 v0))) = True" definition statement_node440 :: bool where "statement_node440 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node441 :: bool where "statement_node441 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. \v7::bool. \v8::bool. (bor (bnot (band (band (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (beq v5 v6)) (beq v6 v7)) (beq v7 v8))) (band (band (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6) v7) v8)) = True" definition statement_node442 :: bool where "statement_node442 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" definition statement_node443 :: bool where "statement_node443 \ \(a::nat). a = a" definition statement_node444 :: bool where "statement_node444 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" definition statement_node445 :: bool where "statement_node445 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (bor (bnot v0) v0)) (bor (bnot (bor (bnot v0) v0)) (band (bor (bnot v1) v1) (bor (bnot v2) v2)))) = True" definition statement_node446 :: bool where "statement_node446 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (beq (band v0 v1) v2)) = True" definition statement_node447 :: bool where "statement_node447 \ \(a::nat). a = a" definition statement_node448 :: bool where "statement_node448 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v2)) v1)) = True" definition statement_node449 :: bool where "statement_node449 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (bor (bnot (bor (bnot v2) v1)) v0)) = True" definition statement_node450 :: bool where "statement_node450 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (bor (bnot v1) v2)) (bor (bnot v0) v3)) (beq v3 v4)) v3)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node451 :: bool where "statement_node451 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node452 :: bool where "statement_node452 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" definition statement_node453 :: bool where "statement_node453 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" definition statement_node454 :: bool where "statement_node454 \ \(a::nat). a = a" definition statement_node455 :: bool where "statement_node455 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band v0 (bor (bnot v0) v0))) (band (bor v1 (bnot v1)) (bnot (band v2 (bnot v2))))) = True" definition statement_node456 :: bool where "statement_node456 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (beq v1 v0) (bor (bnot v2) v2))) = True" definition statement_node457 :: bool where "statement_node457 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v0)) (beq v0 (bnot v1)))) (band v0 (bnot v1))) = True" definition statement_node458 :: bool where "statement_node458 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (band (beq v0 v1) (beq v1 v2))) = True" definition statement_node459 :: bool where "statement_node459 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node460 :: bool where "statement_node460 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. \v6::bool. (bor (bnot (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v6))) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" definition statement_node461 :: bool where "statement_node461 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" definition statement_node462 :: bool where "statement_node462 \ \(a::nat). a = a" definition statement_node463 :: bool where "statement_node463 \ \(a::nat). a = a" definition statement_node464 :: bool where "statement_node464 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (beq v0 v0)) (beq v0 (bnot v1)))) (band v0 (bnot v1))) = True" definition statement_node465 :: bool where "statement_node465 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (band (beq v0 v1) (beq v1 v2))) = True" definition statement_node466 :: bool where "statement_node466 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node467 :: bool where "statement_node467 \ \(a::nat). a = a" definition statement_node468 :: bool where "statement_node468 \ \(a::nat). a = a" definition statement_node469 :: bool where "statement_node469 \ \(a::nat). a = a" definition statement_node470 :: bool where "statement_node470 \ \(a::nat). a = a" definition statement_node471 :: bool where "statement_node471 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) (band v1 v2))) (bor (bnot (band v1 v2)) v3)) (bor (bnot v0) v0))) (band v3 (bor (bnot v3) v3))) = True" definition statement_node472 :: bool where "statement_node472 \ \v0::bool. \v1::bool. (bor (bnot (band (bor (bnot v0) v1) (bor (bnot v1) v0))) (band (bor (bnot v0) v1) (beq v1 v0))) = True" definition statement_node473 :: bool where "statement_node473 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 v1) v2) v3)) (beq (beq v0 v1) (band v2 v3))) = True" definition statement_node474 :: bool where "statement_node474 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" definition statement_node475 :: bool where "statement_node475 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v2)) v1)) = True" definition statement_node476 :: bool where "statement_node476 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) (band v1 v2))) (bor (bnot (band v1 v2)) v3)) (bor (bnot v0) v0))) (band v3 (bor (bnot v3) v3))) = True" definition statement_node477 :: bool where "statement_node477 \ \v0::bool. \v1::bool. (bor (bnot (band (band v0 (bnot (bnot v1))) (beq v0 v1))) (band v0 v1)) = True" definition statement_node478 :: bool where "statement_node478 \ \(a::nat). a = a" definition statement_node479 :: bool where "statement_node479 \ \v0::bool. \v1::bool. (bor (bnot (beq v0 v1)) (beq v0 v1)) = True" definition statement_node480 :: bool where "statement_node480 \ \(a::nat). a = a" definition statement_node481 :: bool where "statement_node481 \ \(a::nat). a = a" definition statement_node482 :: bool where "statement_node482 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (bor (bnot (band (band v0 v1) v2)) (bnot (band (band (band v0 v1) v2) (bnot (band (band v0 v1) v2)))))) = True" definition statement_node483 :: bool where "statement_node483 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" definition statement_node484 :: bool where "statement_node484 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node485 :: bool where "statement_node485 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band v0 (bor (bnot v0) (band v1 v2)))) (bor (bnot v0) (bnot (bor (bnot v0) (bnot (band v1 v2)))))) = True" definition statement_node486 :: bool where "statement_node486 \ \v0::bool. (bor (bnot v0) v0) = True" definition statement_node487 :: bool where "statement_node487 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node488 :: bool where "statement_node488 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" definition statement_node489 :: bool where "statement_node489 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band v0 (bor (bnot v0) (bnot v1))) (bor (bnot (band v1 v2)) v4)) (bor (bnot (band v2 v3)) v3))) (band (bor (bnot v3) (bnot (band v1 v4))) (bor (bnot v3) v0))) = True" definition statement_node490 :: bool where "statement_node490 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" definition statement_node491 :: bool where "statement_node491 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. (bor (bnot (band (band (band (band v0 v1) v2) (bor (bnot (band v0 v1)) v3)) (bor (bnot (band v1 v2)) v3))) (beq v3 v1)) = True" definition statement_node492 :: bool where "statement_node492 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node493 :: bool where "statement_node493 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. \v5::bool. (bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" definition statement_node494 :: bool where "statement_node494 \ \v0::bool. \v1::bool. \v2::bool. \v3::bool. \v4::bool. (bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3)) (beq v3 v4))) (beq (band (band v4 v3) (band v2 v1)) v0)) = True" definition statement_node495 :: bool where "statement_node495 \ \(a::nat). a = a" definition statement_node496 :: bool where "statement_node496 \ \a. exponentXorState a a = 1" definition statement_node497 :: bool where "statement_node497 \ \a. exponentXorState a a = 1" definition statement_node498 :: bool where "statement_node498 \ \v0::bool. \v1::bool. \v2::bool. (bor (bnot (band (band v0 (bor (bnot v0) v1)) (beq v2 v0))) (band (band v0 v1) v2)) = True" definition statement_node499 :: bool where "statement_node499 \ mcb_program_code = mcb_data_code" definition statement_node500 :: bool where "statement_node500 \ \e. unquoteMCB (quoteMCB e) = e" definition statement_node501 :: bool where "statement_node501 \ \d. quoteMCB (unquoteMCB d) = d" definition statement_node502 :: bool where "statement_node502 \ \n::int. phaseMCB n = 1 \ phaseMCB n = -1" definition statement_node503 :: bool where "statement_node503 \ \n::int. n mod 2 = 0 \ phaseMCB n = 1" definition statement_node504 :: bool where "statement_node504 \ \e. evalMCBData (quoteMCB e) = evalMCB e" definition statement_node505 :: bool where "statement_node505 \ \f e. quoteMCB (reweightMCB f e) = reweightMCBData f (quoteMCB e)" definition statement_node506 :: bool where "statement_node506 \ \e. evalMCB e = sumMCBData (mcbContributions e)" definition statement_node507 :: bool where "statement_node507 \ \e. evalMCB (normalizeMCB e) = evalMCB e" definition statement_node508 :: bool where "statement_node508 \ \e. normalizeMCB (normalizeMCB e) = normalizeMCB e" definition statement_node509 :: bool where "statement_node509 \ \e. \v::int. evalMCB e = v \ (\w. evalMCB e = w \ w = v)" definition statement_node510 :: bool where "statement_node510 \ \e (v::int). \ (evalMCB e = v \ evalMCB e \ v)" definition statement_node511 :: bool where "statement_node511 \ mcbContributions mcbInitProgram = [-1, 1, -1, 1, -1, 1, -1, 1]" definition statement_node512 :: bool where "statement_node512 \ evalMCB mcbInitProgram = 0" definition statement_node513 :: bool where "statement_node513 \ normalizeMCB mcbInitProgram = MCB_Balance 0" definition statement_node514 :: bool where "statement_node514 \ phaseMCB (evalMCB mcbInitProgram) = 1" definition statement_node515 :: bool where "statement_node515 \ normalizeMCB mcbInitialization = MCB_Balance 1" definition statement_node516 :: bool where "statement_node516 \ evalMCB mcbInitProgram = compiledMCBInitBalance" definition statement_node517 :: bool where "statement_node517 \ compiledMCBInitBalance = 0" definition statement_node518 :: bool where "statement_node518 \ evalMCB mcbInitProgram \ -1" definition statement_node519 :: bool where "statement_node519 \ \p q. nativeNand p q = signed (\ (p \ q))" definition statement_node520 :: bool where "statement_node520 \ \xs. foldl (\) True xs = sourceConjunction xs" definition statement_node521 :: bool where "statement_node521 \ encode Role_Ground (-1) = Some True" definition statement_node522 :: bool where "statement_node522 \ encode Role_Runtime (-1) = Some False" definition statement_node523 :: bool where "statement_node523 \ \b. encode Role_Runtime (signed b) = Some b" lemma witness_node0: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node0: "statement_node0" unfolding statement_node0_def using witness_node0 by blast lemma witness_node1: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (beq v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node1: "statement_node1" unfolding statement_node1_def using witness_node1 by blast lemma witness_node2: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node2: "statement_node2" unfolding statement_node2_def using witness_node2 by blast lemma witness_node3: fixes "a" :: "'a" shows "a = a" by simp lemma node3: "statement_node3" unfolding statement_node3_def using witness_node3 by blast lemma witness_node4: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node4: "statement_node4" unfolding statement_node4_def using witness_node4 by blast lemma witness_node5: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node5: "statement_node5" unfolding statement_node5_def using witness_node5 by blast lemma witness_node6: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node6: "statement_node6" unfolding statement_node6_def using witness_node6 by blast lemma witness_node7: fixes "a" :: "'a" shows "a = a" by simp lemma node7: "statement_node7" unfolding statement_node7_def using witness_node7 by blast lemma witness_node8: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (bor (bnot v0) v1)) (bor (bnot v2) v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node8: "statement_node8" unfolding statement_node8_def using witness_node8 by blast lemma witness_node9: fixes "v0" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v0))) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node9: "statement_node9" unfolding statement_node9_def using witness_node9 by blast lemma witness_node10: fixes "a" :: "'a" shows "a = a" by simp lemma node10: "statement_node10" unfolding statement_node10_def using witness_node10 by blast lemma witness_node11: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot (band (band v0 v1) v2)) v3))) v3) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node11: "statement_node11" unfolding statement_node11_def using witness_node11 by blast lemma witness_node12: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v1))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node12: "statement_node12" unfolding statement_node12_def using witness_node12 by blast lemma witness_node13: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v0) (beq v2 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node13: "statement_node13" unfolding statement_node13_def using witness_node13 by blast lemma witness_node14: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node14: "statement_node14" unfolding statement_node14_def using witness_node14 by blast lemma witness_node15: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node15: "statement_node15" unfolding statement_node15_def using witness_node15 by blast lemma witness_node16: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node16: "statement_node16" unfolding statement_node16_def using witness_node16 by blast lemma witness_node17: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node17: "statement_node17" unfolding statement_node17_def using witness_node17 by blast lemma witness_node18: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (band v0 v1)) (band v0 v2)) (band v0 v3)) v4)) (beq (bor (bnot v4) (band (band v0 v1) v2)) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node18: "statement_node18" unfolding statement_node18_def using witness_node18 by blast lemma witness_node19: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node19: "statement_node19" unfolding statement_node19_def using witness_node19 by blast lemma witness_node20: fixes "a" :: "'a" shows "a = a" by simp lemma node20: "statement_node20" unfolding statement_node20_def using witness_node20 by blast lemma witness_node21: fixes "v0" :: "bool" shows "(bor (bnot v0) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node21: "statement_node21" unfolding statement_node21_def using witness_node21 by blast lemma witness_node22: fixes "v0" :: "bool" shows "(bor (bnot v0) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node22: "statement_node22" unfolding statement_node22_def using witness_node22 by blast lemma witness_node23: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) v1) (bor (bnot v1) v0))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node23: "statement_node23" unfolding statement_node23_def using witness_node23 by blast lemma witness_node24: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band (band v1 (beq v1 v0)) v0) (bor (bnot v0) v1))) (band v1 v0)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node24: "statement_node24" unfolding statement_node24_def using witness_node24 by blast lemma witness_node25: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) v1)) (band (beq (bnot v0) (bnot v1)) (beq v0 v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node25: "statement_node25" unfolding statement_node25_def using witness_node25 by blast lemma witness_node26: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v0))) (bor (bnot v2) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node26: "statement_node26" unfolding statement_node26_def using witness_node26 by blast lemma witness_node27: fixes "a" :: "'a" shows "a = a" by simp lemma node27: "statement_node27" unfolding statement_node27_def using witness_node27 by blast lemma witness_node28: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node28: "statement_node28" unfolding statement_node28_def using witness_node28 by blast lemma witness_node29: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node29: "statement_node29" unfolding statement_node29_def using witness_node29 by blast lemma witness_node30: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node30: "statement_node30" unfolding statement_node30_def using witness_node30 by blast lemma witness_node31: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v1))) (bor (bnot (bor (bnot v0) v0)) (bor (bnot v1) v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node31: "statement_node31" unfolding statement_node31_def using witness_node31 by blast lemma witness_node32: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v0))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node32: "statement_node32" unfolding statement_node32_def using witness_node32 by blast lemma witness_node33: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2))) (bor (bnot v0) (beq (bor (bnot v1) v2) (bor (bnot v2) v1)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node33: "statement_node33" unfolding statement_node33_def using witness_node33 by blast lemma witness_node34: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node34: "statement_node34" unfolding statement_node34_def using witness_node34 by blast lemma witness_node35: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node35: "statement_node35" unfolding statement_node35_def using witness_node35 by blast lemma witness_node36: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v0) (beq v2 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node36: "statement_node36" unfolding statement_node36_def using witness_node36 by blast lemma witness_node37: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node37: "statement_node37" unfolding statement_node37_def using witness_node37 by blast lemma witness_node38: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node38: "statement_node38" unfolding statement_node38_def using witness_node38 by blast lemma witness_node39: fixes "a" :: "'a" shows "a = a" by simp lemma node39: "statement_node39" unfolding statement_node39_def using witness_node39 by blast lemma witness_node40: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node40: "statement_node40" unfolding statement_node40_def using witness_node40 by blast lemma witness_node41: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node41: "statement_node41" unfolding statement_node41_def using witness_node41 by blast lemma witness_node42: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node42: "statement_node42" unfolding statement_node42_def using witness_node42 by blast lemma witness_node43: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node43: "statement_node43" unfolding statement_node43_def using witness_node43 by blast lemma witness_node44: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node44: "statement_node44" unfolding statement_node44_def using witness_node44 by blast lemma witness_node45: fixes "a" :: "'a" shows "a = a" by simp lemma node45: "statement_node45" unfolding statement_node45_def using witness_node45 by blast lemma witness_node46: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node46: "statement_node46" unfolding statement_node46_def using witness_node46 by blast lemma witness_node47: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band v0 v1)) (bor (bnot v2) v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node47: "statement_node47" unfolding statement_node47_def using witness_node47 by blast lemma witness_node48: fixes "a" :: "'a" shows "a = a" by simp lemma node48: "statement_node48" unfolding statement_node48_def using witness_node48 by blast lemma witness_node49: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (bor (bnot v2) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node49: "statement_node49" unfolding statement_node49_def using witness_node49 by blast lemma witness_node50: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v1))) (bor (bnot (beq v0 (bor (bnot v0) (bnot (bor (bnot v0) (bnot v0)))))) (beq v1 v0))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node50: "statement_node50" unfolding statement_node50_def using witness_node50 by blast lemma witness_node51: fixes "a" :: "'a" shows "a = a" by simp lemma node51: "statement_node51" unfolding statement_node51_def using witness_node51 by blast lemma witness_node52: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v1))) (bor (bnot (beq v0 (bor (bnot v0) (bnot (bor (bnot v0) (bnot v0)))))) (beq v1 v0))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node52: "statement_node52" unfolding statement_node52_def using witness_node52 by blast lemma witness_node53: fixes "a" :: "'a" shows "a = a" by simp lemma node53: "statement_node53" unfolding statement_node53_def using witness_node53 by blast lemma witness_node54: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) v1))) (bor (bnot (band v0 v2)) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node54: "statement_node54" unfolding statement_node54_def using witness_node54 by blast lemma witness_node55: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v2) v0)) (bor (bnot v0) v3)) (bor (bnot v3) v4))) (band (band (band (band v0 v1) v2) v3) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node55: "statement_node55" unfolding statement_node55_def using witness_node55 by blast lemma witness_node56: fixes "a" :: "'a" shows "a = a" by simp lemma node56: "statement_node56" unfolding statement_node56_def using witness_node56 by blast lemma witness_node57: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node57: "statement_node57" unfolding statement_node57_def using witness_node57 by blast lemma witness_node58: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node58: "statement_node58" unfolding statement_node58_def using witness_node58 by blast lemma witness_node59: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (bor (bnot v0) v1) (bor (bnot v0) v2))) (bor (bnot v0) (beq (bor (bnot v1) v2) (bor (bnot v2) v1)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node59: "statement_node59" unfolding statement_node59_def using witness_node59 by blast lemma witness_node60: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node60: "statement_node60" unfolding statement_node60_def using witness_node60 by blast lemma witness_node61: fixes "v0" :: "bool" shows "(bor (bnot (beq v0 v0)) (band (band (bor v0 (bnot v0)) (beq v0 (bnot (bnot v0)))) (band (bor (bnot v0) v0) (bor (bnot (bnot v0)) (bnot v0))))) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node61: "statement_node61" unfolding statement_node61_def using witness_node61 by blast lemma witness_node62: fixes "a" :: "'a" shows "a = a" by simp lemma node62: "statement_node62" unfolding statement_node62_def using witness_node62 by blast lemma witness_node63: fixes "v0" :: "bool" shows "(bor (bnot (beq v0 v0)) (bor v0 (bnot v0))) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node63: "statement_node63" unfolding statement_node63_def using witness_node63 by blast lemma witness_node64: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node64: "statement_node64" unfolding statement_node64_def using witness_node64 by blast lemma witness_node65: fixes "a" :: "'a" shows "a = a" by simp lemma node65: "statement_node65" unfolding statement_node65_def using witness_node65 by blast lemma witness_node66: fixes "v0" :: "bool" shows "(bor (bnot (band v0 (band v0 (bnot (bnot v0))))) (bor (bnot v0) (beq v0 (bnot (band v0 (bnot v0)))))) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node66: "statement_node66" unfolding statement_node66_def using witness_node66 by blast lemma witness_node67: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (bor (bnot v1) v2)) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node67: "statement_node67" unfolding statement_node67_def using witness_node67 by blast lemma witness_node68: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (bor (bnot v0) v1) (bor (bnot (band v0 v1)) v2))) (bor (bnot v0) (bor (bnot v0) (beq v1 v2)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node68: "statement_node68" unfolding statement_node68_def using witness_node68 by blast lemma witness_node69: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) v1))) (beq (bnot v1) (bnot (band v0 v2)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node69: "statement_node69" unfolding statement_node69_def using witness_node69 by blast lemma witness_node70: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node70: "statement_node70" unfolding statement_node70_def using witness_node70 by blast lemma witness_node71: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 v1) v2) v3) v4) (bor (bnot v4) v5)) (beq v0 v4)) (bor (bnot v0) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node71: "statement_node71" unfolding statement_node71_def using witness_node71 by blast lemma witness_node72: fixes "a" :: "'a" shows "a = a" by simp lemma node72: "statement_node72" unfolding statement_node72_def using witness_node72 by blast lemma witness_node73: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (beq (beq v3 v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node73: "statement_node73" unfolding statement_node73_def using witness_node73 by blast lemma witness_node74: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) (bor (bnot v0) v1)) (bor (bnot v0) (bnot v2)))) (bor (bnot (band (band v0 v1) (bnot (band v0 (bnot v1))))) (bnot v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node74: "statement_node74" unfolding statement_node74_def using witness_node74 by blast lemma witness_node75: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node75: "statement_node75" unfolding statement_node75_def using witness_node75 by blast lemma witness_node76: fixes "condition" :: "bool" and "t" :: "'a" and "e" shows "(if condition then t else e) = t \ (if condition then t else e) = e" by (cases condition) auto lemma node76: "statement_node76" unfolding statement_node76_def using witness_node76 by blast lemma witness_node77: fixes "condition" :: "bool" and "t" :: "'a" and "e" shows "(if condition then t else e) = t \ (if condition then t else e) = e" by (cases condition) auto lemma node77: "statement_node77" unfolding statement_node77_def using witness_node77 by blast lemma witness_node78: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot (beq (band (band v0 v1) v2) v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node78: "statement_node78" unfolding statement_node78_def using witness_node78 by blast lemma witness_node79: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v1 (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (band v1 v2) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node79: "statement_node79" unfolding statement_node79_def using witness_node79 by blast lemma witness_node80: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (bnot v1) (bor (bnot (bnot v1)) (bnot v2))) (bor (bnot (bnot v2)) (bnot v0)))) (band (band (bnot v1) (bnot v2)) (bnot v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node80: "statement_node80" unfolding statement_node80_def using witness_node80 by blast lemma witness_node81: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node81: "statement_node81" unfolding statement_node81_def using witness_node81 by blast lemma witness_node82: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (bor (bnot v5) v0))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node82: "statement_node82" unfolding statement_node82_def using witness_node82 by blast lemma witness_node83: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6)) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; simp add: bnot_def band_def bor_def beq_def) lemma node83: "statement_node83" unfolding statement_node83_def using witness_node83 by blast lemma witness_node84: fixes "a" :: "'a" shows "a = a" by simp lemma node84: "statement_node84" unfolding statement_node84_def using witness_node84 by blast lemma witness_node85: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node85: "statement_node85" unfolding statement_node85_def using witness_node85 by blast lemma witness_node86: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node86: "statement_node86" unfolding statement_node86_def using witness_node86 by blast lemma witness_node87: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band (band v0 v1) v2) v3) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node87: "statement_node87" unfolding statement_node87_def using witness_node87 by blast lemma witness_node88: fixes "a" :: "'a" shows "a = a" by simp lemma node88: "statement_node88" unfolding statement_node88_def using witness_node88 by blast lemma witness_node89: fixes "access" :: "'w\'w\bool" and "w" and "unfixed" :: "bool list" shows "necessary access (\_. \g::logical_ground. groundIdentityLaw g \ lgNoncontradiction g \ lgImplication g \ lgExcludedMiddle g) w" by (auto simp: necessary_def groundIdentityLaw_def constructiveLogos_def intro!: exI[where x=constructiveLogos]) lemma node89: "statement_node89" unfolding statement_node89_def by (intro allI; rule witness_node89) lemma witness_node90: fixes "access" :: "'w\'w\bool" and "w" and "unfixed" :: "bool list" shows "necessary access (\_. \g::logical_ground. groundIdentityLaw g \ lgNoncontradiction g \ lgImplication g \ lgExcludedMiddle g) w" by (auto simp: necessary_def groundIdentityLaw_def constructiveLogos_def intro!: exI[where x=constructiveLogos]) lemma node90: "statement_node90" unfolding statement_node90_def by (intro allI; rule witness_node90) lemma witness_node91: fixes "a" :: "'a" shows "a = a" by simp lemma node91: "statement_node91" unfolding statement_node91_def using witness_node91 by blast lemma witness_node92: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot v0) (band (band v1 v2) v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node92: "statement_node92" unfolding statement_node92_def using witness_node92 by blast lemma witness_node93: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node93: "statement_node93" unfolding statement_node93_def using witness_node93 by blast lemma witness_node94: fixes "a" :: "'a" shows "a = a" by simp lemma node94: "statement_node94" unfolding statement_node94_def using witness_node94 by blast lemma witness_node95: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node95: "statement_node95" unfolding statement_node95_def using witness_node95 by blast lemma witness_node96: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (beq (bor (bnot (band v0 v1)) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node96: "statement_node96" unfolding statement_node96_def using witness_node96 by blast lemma witness_node97: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (beq (beq v0 v1) (beq v1 v0))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node97: "statement_node97" unfolding statement_node97_def using witness_node97 by blast lemma witness_node98: fixes "a" :: "'a" shows "a = a" by simp lemma node98: "statement_node98" unfolding statement_node98_def using witness_node98 by blast lemma witness_node99: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) (bor (bnot v2) (beq v0 v1)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node99: "statement_node99" unfolding statement_node99_def using witness_node99 by blast lemma witness_node100: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node100: "statement_node100" unfolding statement_node100_def using witness_node100 by blast lemma witness_node101: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) (beq v0 v1)) (beq v1 v0)) v1) v0)) (beq (band v0 v1) (band v1 v0))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node101: "statement_node101" unfolding statement_node101_def using witness_node101 by blast lemma witness_node102: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v1))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node102: "statement_node102" unfolding statement_node102_def using witness_node102 by blast lemma witness_node103: fixes "a" :: "'a" shows "a = a" by simp lemma node103: "statement_node103" unfolding statement_node103_def using witness_node103 by blast lemma witness_node104: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node104: "statement_node104" unfolding statement_node104_def using witness_node104 by blast lemma witness_node105: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node105: "statement_node105" unfolding statement_node105_def using witness_node105 by blast lemma witness_node106: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (bor (bnot v0) v0)) (band (bor (bnot v0) v0) (band (bor (bnot v1) v1) (bor (bnot v2) v2)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node106: "statement_node106" unfolding statement_node106_def using witness_node106 by blast lemma witness_node107: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v2)) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node107: "statement_node107" unfolding statement_node107_def using witness_node107 by blast lemma witness_node108: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" and "v7" :: "bool" and "v8" :: "bool" and "v9" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6) v7) v8) v9)) (band (band (band (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6) v7) v8) v9)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; cases v7; cases v8; cases v9; simp add: bnot_def band_def bor_def beq_def) lemma node108: "statement_node108" unfolding statement_node108_def using witness_node108 by blast lemma witness_node109: fixes "a" :: "'a" shows "a = a" by simp lemma node109: "statement_node109" unfolding statement_node109_def using witness_node109 by blast lemma witness_node110: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node110: "statement_node110" unfolding statement_node110_def using witness_node110 by blast lemma witness_node111: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) (band (bor (bnot v0) v1) v2))) (beq (band v1 v2) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node111: "statement_node111" unfolding statement_node111_def using witness_node111 by blast lemma witness_node112: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node112: "statement_node112" unfolding statement_node112_def using witness_node112 by blast lemma witness_node113: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node113: "statement_node113" unfolding statement_node113_def using witness_node113 by blast lemma witness_node114: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node114: "statement_node114" unfolding statement_node114_def using witness_node114 by blast lemma witness_node115: fixes "a" :: "'a" shows "a = a" by simp lemma node115: "statement_node115" unfolding statement_node115_def using witness_node115 by blast lemma witness_node116: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node116: "statement_node116" unfolding statement_node116_def using witness_node116 by blast lemma witness_node117: fixes "u" shows "coherent (affirmedG6 u) = True \ lawful (affirmedG6 u) = True" by (simp add: affirmedG6_def) lemma node117: "statement_node117" unfolding statement_node117_def using witness_node117 by blast lemma witness_node118: fixes "u" shows "coherent (affirmedG6 u) = True \ lawful (affirmedG6 u) = True" by (simp add: affirmedG6_def) lemma node118: "statement_node118" unfolding statement_node118_def using witness_node118 by blast lemma witness_node119: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) v3)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node119: "statement_node119" unfolding statement_node119_def using witness_node119 by blast lemma witness_node120: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node120: "statement_node120" unfolding statement_node120_def using witness_node120 by blast lemma witness_node121: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node121: "statement_node121" unfolding statement_node121_def using witness_node121 by blast lemma witness_node122: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (beq (beq (band v0 v1) (band v2 v3)) (band v4 v5))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node122: "statement_node122" unfolding statement_node122_def using witness_node122 by blast lemma witness_node123: fixes "a" :: "'a" shows "a = a" by simp lemma node123: "statement_node123" unfolding statement_node123_def using witness_node123 by blast lemma witness_node124: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (band (bor (bnot v2) v0) (bor (bnot v0) v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node124: "statement_node124" unfolding statement_node124_def using witness_node124 by blast lemma witness_node125: fixes "v0" :: "bool" shows "(bor (bnot (band v0 (beq v0 v0))) (beq v0 (bor (bnot v0) (bnot (bor (bnot v0) (bnot v0)))))) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node125: "statement_node125" unfolding statement_node125_def using witness_node125 by blast lemma witness_node126: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v2 (bor (bnot v2) v1)) (bor (bnot (band v2 v1)) v3)) (bor (bnot v3) v0))) v0) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node126: "statement_node126" unfolding statement_node126_def using witness_node126 by blast lemma witness_node127: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (beq v0 v1))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node127: "statement_node127" unfolding statement_node127_def using witness_node127 by blast lemma witness_node128: fixes "a" :: "'a" shows "a = a" by simp lemma node128: "statement_node128" unfolding statement_node128_def using witness_node128 by blast lemma witness_node129: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node129: "statement_node129" unfolding statement_node129_def using witness_node129 by blast lemma witness_node130: fixes "a" :: "'a" shows "a = a" by simp lemma node130: "statement_node130" unfolding statement_node130_def using witness_node130 by blast lemma witness_node131: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) (bor (bnot v2) (bnot (band v0 v1))))) (bor (bnot v0) (band v1 v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node131: "statement_node131" unfolding statement_node131_def using witness_node131 by blast lemma witness_node132: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) v2) (bor (bnot v2) v1)) v1)) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node132: "statement_node132" unfolding statement_node132_def using witness_node132 by blast lemma witness_node133: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node133: "statement_node133" unfolding statement_node133_def using witness_node133 by blast lemma witness_node134: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) v4) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node134: "statement_node134" unfolding statement_node134_def using witness_node134 by blast lemma witness_node135: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node135: "statement_node135" unfolding statement_node135_def using witness_node135 by blast lemma witness_node136: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node136: "statement_node136" unfolding statement_node136_def using witness_node136 by blast lemma witness_node137: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node137: "statement_node137" unfolding statement_node137_def using witness_node137 by blast lemma witness_node138: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (beq (beq v3 v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node138: "statement_node138" unfolding statement_node138_def using witness_node138 by blast lemma witness_node139: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) v3) (beq v0 v4)) (bor (bnot v4) v3))) (bor (bnot v4) (band (band v0 v1) (band v2 v3)))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node139: "statement_node139" unfolding statement_node139_def using witness_node139 by blast lemma witness_node140: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) (band v0 v1)))) v1) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node140: "statement_node140" unfolding statement_node140_def using witness_node140 by blast lemma witness_node141: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node141: "statement_node141" unfolding statement_node141_def using witness_node141 by blast lemma witness_node142: fixes "a" :: "'a" shows "a = a" by simp lemma node142: "statement_node142" unfolding statement_node142_def using witness_node142 by blast lemma witness_node143: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (beq v1 v0)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node143: "statement_node143" unfolding statement_node143_def using witness_node143 by blast lemma witness_node144: fixes "a" :: "'a" shows "a = a" by simp lemma node144: "statement_node144" unfolding statement_node144_def using witness_node144 by blast lemma witness_node145: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node145: "statement_node145" unfolding statement_node145_def using witness_node145 by blast lemma witness_node146: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (beq v1 v0) (bnot v0)) (bor (bnot (bnot v0)) v2)) (beq v2 v3))) (band (band (bnot v0) (bnot v1)) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node146: "statement_node146" unfolding statement_node146_def using witness_node146 by blast lemma witness_node147: fixes "a" :: "'a" shows "a = a" by simp lemma node147: "statement_node147" unfolding statement_node147_def using witness_node147 by blast lemma witness_node148: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) v2) (bor (bnot v2) v0)) v3) (bor (bnot v3) v0))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node148: "statement_node148" unfolding statement_node148_def using witness_node148 by blast lemma witness_node149: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v2) v1)) (beq (beq v0 v2) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node149: "statement_node149" unfolding statement_node149_def using witness_node149 by blast lemma witness_node150: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (beq v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node150: "statement_node150" unfolding statement_node150_def using witness_node150 by blast lemma witness_node151: fixes "a" :: "'a" shows "a = a" by simp lemma node151: "statement_node151" unfolding statement_node151_def using witness_node151 by blast lemma witness_node152: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1)) v1)) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node152: "statement_node152" unfolding statement_node152_def using witness_node152 by blast lemma witness_node153: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node153: "statement_node153" unfolding statement_node153_def using witness_node153 by blast lemma witness_node154: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node154: "statement_node154" unfolding statement_node154_def using witness_node154 by blast lemma witness_node155: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node155: "statement_node155" unfolding statement_node155_def using witness_node155 by blast lemma witness_node156: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node156: "statement_node156" unfolding statement_node156_def using witness_node156 by blast lemma witness_node157: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node157: "statement_node157" unfolding statement_node157_def using witness_node157 by blast lemma witness_node158: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node158: "statement_node158" unfolding statement_node158_def using witness_node158 by blast lemma witness_node159: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node159: "statement_node159" unfolding statement_node159_def using witness_node159 by blast lemma witness_node160: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node160: "statement_node160" unfolding statement_node160_def using witness_node160 by blast lemma witness_node161: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node161: "statement_node161" unfolding statement_node161_def using witness_node161 by blast lemma witness_node162: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v0)) (bor (bnot (bor (bnot v0) v0)) (bnot (bor (bnot v1) v0)))) (bor (bnot v0) v2))) (band (band v0 (bnot v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node162: "statement_node162" unfolding statement_node162_def using witness_node162 by blast lemma witness_node163: fixes "a" :: "'a" shows "a = a" by simp lemma node163: "statement_node163" unfolding statement_node163_def using witness_node163 by blast lemma witness_node164: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node164: "statement_node164" unfolding statement_node164_def using witness_node164 by blast lemma witness_node165: fixes "v0" :: "bool" shows "(bor (bnot v0) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node165: "statement_node165" unfolding statement_node165_def using witness_node165 by blast lemma witness_node166: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (beq v2 (band v0 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node166: "statement_node166" unfolding statement_node166_def using witness_node166 by blast lemma witness_node167: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node167: "statement_node167" unfolding statement_node167_def using witness_node167 by blast lemma witness_node168: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node168: "statement_node168" unfolding statement_node168_def using witness_node168 by blast lemma witness_node169: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (bor (bnot (band v0 v1)) v2)) (bor (bnot v0) (bor (bnot v1) v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node169: "statement_node169" unfolding statement_node169_def using witness_node169 by blast lemma witness_node170: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v2) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node170: "statement_node170" unfolding statement_node170_def using witness_node170 by blast lemma witness_node171: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v2) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node171: "statement_node171" unfolding statement_node171_def using witness_node171 by blast lemma witness_node172: fixes "a" :: "'a" shows "a = a" by simp lemma node172: "statement_node172" unfolding statement_node172_def using witness_node172 by blast lemma witness_node173: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node173: "statement_node173" unfolding statement_node173_def using witness_node173 by blast lemma witness_node174: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node174: "statement_node174" unfolding statement_node174_def using witness_node174 by blast lemma witness_node175: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node175: "statement_node175" unfolding statement_node175_def using witness_node175 by blast lemma witness_node176: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (beq v0 (beq v1 v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node176: "statement_node176" unfolding statement_node176_def using witness_node176 by blast lemma witness_node177: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (band (band (band (band v0 v1) v2) v3) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node177: "statement_node177" unfolding statement_node177_def using witness_node177 by blast lemma witness_node178: fixes "a" :: "'a" shows "a = a" by simp lemma node178: "statement_node178" unfolding statement_node178_def using witness_node178 by blast lemma witness_node179: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v0) (bnot (bnot (band (band v0 v1) v2))))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node179: "statement_node179" unfolding statement_node179_def using witness_node179 by blast lemma witness_node180: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node180: "statement_node180" unfolding statement_node180_def using witness_node180 by blast lemma witness_node181: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node181: "statement_node181" unfolding statement_node181_def using witness_node181 by blast lemma witness_node182: fixes "a" :: "'a" shows "a = a" by simp lemma node182: "statement_node182" unfolding statement_node182_def using witness_node182 by blast lemma witness_node183: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node183: "statement_node183" unfolding statement_node183_def using witness_node183 by blast lemma witness_node184: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band v0 v1)) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node184: "statement_node184" unfolding statement_node184_def using witness_node184 by blast lemma witness_node185: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node185: "statement_node185" unfolding statement_node185_def using witness_node185 by blast lemma witness_node186: fixes "a" :: "'a" shows "a = a" by simp lemma node186: "statement_node186" unfolding statement_node186_def using witness_node186 by blast lemma witness_node187: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node187: "statement_node187" unfolding statement_node187_def using witness_node187 by blast lemma witness_node188: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node188: "statement_node188" unfolding statement_node188_def using witness_node188 by blast lemma witness_node189: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) (bor (bnot v2) (bor (bnot v1) v0)))) (bor (bnot (beq v2 (bor (bnot v2) (bnot (bor (bnot v2) (bnot v2)))))) (bor (bnot v1) v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node189: "statement_node189" unfolding statement_node189_def using witness_node189 by blast lemma witness_node190: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (beq v0 v1))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node190: "statement_node190" unfolding statement_node190_def using witness_node190 by blast lemma witness_node191: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (beq v3 v4))) (beq (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node191: "statement_node191" unfolding statement_node191_def using witness_node191 by blast lemma witness_node192: fixes "a" :: "'a" shows "a = a" by simp lemma node192: "statement_node192" unfolding statement_node192_def using witness_node192 by blast lemma witness_node193: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node193: "statement_node193" unfolding statement_node193_def using witness_node193 by blast lemma witness_node194: fixes "v0" :: "bool" shows "(bor (bnot (beq v0 v0)) (beq v0 v0)) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node194: "statement_node194" unfolding statement_node194_def using witness_node194 by blast lemma witness_node195: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (beq v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node195: "statement_node195" unfolding statement_node195_def using witness_node195 by blast lemma witness_node196: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v0))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node196: "statement_node196" unfolding statement_node196_def using witness_node196 by blast lemma witness_node197: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v3 v0))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node197: "statement_node197" unfolding statement_node197_def using witness_node197 by blast lemma witness_node198: fixes "a" :: "'a" shows "a = a" by simp lemma node198: "statement_node198" unfolding statement_node198_def using witness_node198 by blast lemma witness_node199: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node199: "statement_node199" unfolding statement_node199_def using witness_node199 by blast lemma witness_node200: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v4 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (beq (beq (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node200: "statement_node200" unfolding statement_node200_def using witness_node200 by blast lemma witness_node201: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node201: "statement_node201" unfolding statement_node201_def using witness_node201 by blast lemma witness_node202: fixes "a" :: "'a" shows "a = a" by simp lemma node202: "statement_node202" unfolding statement_node202_def using witness_node202 by blast lemma witness_node203: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v3 v1) v2) v0)) (beq (band (bor (bnot v3) v1) (bor (bnot v2) v1)) v0)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node203: "statement_node203" unfolding statement_node203_def using witness_node203 by blast lemma witness_node204: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v2) v1)) (band (band v0 v2) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node204: "statement_node204" unfolding statement_node204_def using witness_node204 by blast lemma witness_node205: fixes "a" :: "'a" shows "a = a" by simp lemma node205: "statement_node205" unfolding statement_node205_def using witness_node205 by blast lemma witness_node206: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node206: "statement_node206" unfolding statement_node206_def using witness_node206 by blast lemma witness_node207: fixes "a" :: "'a" shows "a = a" by simp lemma node207: "statement_node207" unfolding statement_node207_def using witness_node207 by blast lemma witness_node208: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) v2)) (beq v0 (band v1 v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node208: "statement_node208" unfolding statement_node208_def using witness_node208 by blast lemma witness_node209: fixes "a" :: "'a" shows "a = a" by simp lemma node209: "statement_node209" unfolding statement_node209_def using witness_node209 by blast lemma witness_node210: fixes "a" :: "'a" shows "a = a" by simp lemma node210: "statement_node210" unfolding statement_node210_def using witness_node210 by blast lemma witness_node211: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v0))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node211: "statement_node211" unfolding statement_node211_def using witness_node211 by blast lemma witness_node212: fixes "a" :: "'a" shows "a = a" by simp lemma node212: "statement_node212" unfolding statement_node212_def using witness_node212 by blast lemma witness_node213: fixes "a" :: "'a" shows "a = a" by simp lemma node213: "statement_node213" unfolding statement_node213_def using witness_node213 by blast lemma witness_node214: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node214: "statement_node214" unfolding statement_node214_def using witness_node214 by blast lemma witness_node215: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (beq v0 v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node215: "statement_node215" unfolding statement_node215_def using witness_node215 by blast lemma witness_node216: fixes "a" :: "'a" shows "a = a" by simp lemma node216: "statement_node216" unfolding statement_node216_def using witness_node216 by blast lemma witness_node217: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (bor (bnot v0) v1)) (bor (bnot v0) v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node217: "statement_node217" unfolding statement_node217_def using witness_node217 by blast lemma witness_node218: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot v2) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node218: "statement_node218" unfolding statement_node218_def using witness_node218 by blast lemma witness_node219: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node219: "statement_node219" unfolding statement_node219_def using witness_node219 by blast lemma witness_node220: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node220: "statement_node220" unfolding statement_node220_def using witness_node220 by blast lemma witness_node221: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) (bor (bnot v1) v2)))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node221: "statement_node221" unfolding statement_node221_def using witness_node221 by blast lemma witness_node222: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 v1) (bor (bnot v0) v1)) (bor (bnot v1) v0)) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node222: "statement_node222" unfolding statement_node222_def using witness_node222 by blast lemma witness_node223: fixes "a" :: "'a" shows "a = a" by simp lemma node223: "statement_node223" unfolding statement_node223_def using witness_node223 by blast lemma witness_node224: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v1 v0)) (beq v2 v0))) (beq v2 (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node224: "statement_node224" unfolding statement_node224_def using witness_node224 by blast lemma witness_node225: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (bor (bnot v1) v2))) (beq (band v0 v2) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node225: "statement_node225" unfolding statement_node225_def using witness_node225 by blast lemma witness_node226: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) (band v0 v1))) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node226: "statement_node226" unfolding statement_node226_def using witness_node226 by blast lemma witness_node227: fixes "a" :: "'a" shows "a = a" by simp lemma node227: "statement_node227" unfolding statement_node227_def using witness_node227 by blast lemma witness_node228: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v1 v2) v0)) (bor v1 v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node228: "statement_node228" unfolding statement_node228_def using witness_node228 by blast lemma witness_node229: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot (band v0 v1)) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node229: "statement_node229" unfolding statement_node229_def using witness_node229 by blast lemma witness_node230: fixes "a" :: "'a" shows "a = a" by simp lemma node230: "statement_node230" unfolding statement_node230_def using witness_node230 by blast lemma witness_node231: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node231: "statement_node231" unfolding statement_node231_def using witness_node231 by blast lemma witness_node232: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node232: "statement_node232" unfolding statement_node232_def using witness_node232 by blast lemma witness_node233: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v0))) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node233: "statement_node233" unfolding statement_node233_def using witness_node233 by blast lemma witness_node234: fixes "a" :: "'a" shows "a = a" by simp lemma node234: "statement_node234" unfolding statement_node234_def using witness_node234 by blast lemma witness_node235: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (beq v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node235: "statement_node235" unfolding statement_node235_def using witness_node235 by blast lemma witness_node236: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (beq v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node236: "statement_node236" unfolding statement_node236_def using witness_node236 by blast lemma witness_node237: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node237: "statement_node237" unfolding statement_node237_def using witness_node237 by blast lemma witness_node238: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) v3) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node238: "statement_node238" unfolding statement_node238_def using witness_node238 by blast lemma witness_node239: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) (beq v1 v2))) (beq (beq v2 v1) v2))) (beq (beq v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node239: "statement_node239" unfolding statement_node239_def using witness_node239 by blast lemma witness_node240: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node240: "statement_node240" unfolding statement_node240_def using witness_node240 by blast lemma witness_node241: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (beq (band v2 v1) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node241: "statement_node241" unfolding statement_node241_def using witness_node241 by blast lemma witness_node242: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 (bnot v3))) (bnot v3))) (band (band v0 v1) (band v2 (bnot v3)))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node242: "statement_node242" unfolding statement_node242_def using witness_node242 by blast lemma witness_node243: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band (bnot v0) (beq (bnot v0) (bnot v1))) (beq (bnot v1) (bnot v2))) (beq (bnot v2) v3)) v3)) (band (bnot (band v0 v1)) (band (bnot v2) v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node243: "statement_node243" unfolding statement_node243_def using witness_node243 by blast lemma witness_node244: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node244: "statement_node244" unfolding statement_node244_def using witness_node244 by blast lemma witness_node245: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v1) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node245: "statement_node245" unfolding statement_node245_def using witness_node245 by blast lemma witness_node246: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node246: "statement_node246" unfolding statement_node246_def using witness_node246 by blast lemma witness_node247: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (beq v2 (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node247: "statement_node247" unfolding statement_node247_def using witness_node247 by blast lemma witness_node248: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v2)) (bor (bnot v2) v1))) (beq v2 (bor (bnot (bor (bnot v2) (bnot (beq v0 (bnot v2))))) v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node248: "statement_node248" unfolding statement_node248_def using witness_node248 by blast lemma witness_node249: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v2)) (bor (bnot v2) v1))) (beq v2 (bor (bnot (bor (bnot v2) (bnot (beq v0 (bnot v2))))) v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node249: "statement_node249" unfolding statement_node249_def using witness_node249 by blast lemma witness_node250: fixes "step" :: "'a\'a option" and "fuel" and "s" shows "iterations step fuel s \ fuel" by (induction fuel arbitrary: s) (auto split: option.splits) lemma node250: "statement_node250" unfolding statement_node250_def using witness_node250 by blast lemma witness_node251: fixes "step" :: "'a\'a option" and "fuel" and "s" shows "iterations step fuel s \ fuel" by (induction fuel arbitrary: s) (auto split: option.splits) lemma node251: "statement_node251" unfolding statement_node251_def using witness_node251 by blast lemma witness_node252: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot (bor (bnot (band v0 v1)) (band v2 v3))) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node252: "statement_node252" unfolding statement_node252_def using witness_node252 by blast lemma witness_node253: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (bor (bnot v5) (band (band (band v0 v1) (band v2 v3)) v4))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node253: "statement_node253" unfolding statement_node253_def using witness_node253 by blast lemma witness_node254: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node254: "statement_node254" unfolding statement_node254_def using witness_node254 by blast lemma witness_node255: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v0)) (beq v0 (bnot v1)))) (band v0 (bnot v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node255: "statement_node255" unfolding statement_node255_def using witness_node255 by blast lemma witness_node256: fixes "a" :: "'a" shows "a = a" by simp lemma node256: "statement_node256" unfolding statement_node256_def using witness_node256 by blast lemma witness_node257: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node257: "statement_node257" unfolding statement_node257_def using witness_node257 by blast lemma witness_node258: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node258: "statement_node258" unfolding statement_node258_def using witness_node258 by blast lemma witness_node259: fixes "n" :: "int" shows "signedIntegerPower n = 1 \ signedIntegerPower n = -1" by (simp add: signedIntegerPower_def) lemma node259: "statement_node259" unfolding statement_node259_def using witness_node259 by blast lemma witness_node260: fixes "n" :: "int" shows "signedIntegerPower n = 1 \ signedIntegerPower n = -1" by (simp add: signedIntegerPower_def) lemma node260: "statement_node260" unfolding statement_node260_def using witness_node260 by blast lemma witness_node261: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot v4) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0)))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node261: "statement_node261" unfolding statement_node261_def using witness_node261 by blast lemma witness_node262: fixes "b" shows "(if b then (1::int) else -1) = 1 \ (if b then (1::int) else -1) = -1" by (cases b) auto lemma node262: "statement_node262" unfolding statement_node262_def using witness_node262 by blast lemma witness_node263: fixes "b" shows "(if b then (1::int) else -1) = 1 \ (if b then (1::int) else -1) = -1" by (cases b) auto lemma node263: "statement_node263" unfolding statement_node263_def using witness_node263 by blast lemma witness_node264: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot v1) v0))) (bor (bnot v1) (band v0 (bnot (bnot v0))))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node264: "statement_node264" unfolding statement_node264_def using witness_node264 by blast lemma witness_node265: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v0)) (bor (bnot (band v3 v0)) v4))) (bor (bnot v3) (band v0 v4))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node265: "statement_node265" unfolding statement_node265_def using witness_node265 by blast lemma witness_node266: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node266: "statement_node266" unfolding statement_node266_def using witness_node266 by blast lemma witness_node267: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node267: "statement_node267" unfolding statement_node267_def using witness_node267 by blast lemma witness_node268: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node268: "statement_node268" unfolding statement_node268_def using witness_node268 by blast lemma witness_node269: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (beq (beq v2 v1) v0)) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node269: "statement_node269" unfolding statement_node269_def using witness_node269 by blast lemma witness_node270: fixes "a" :: "'a" shows "a = a" by simp lemma node270: "statement_node270" unfolding statement_node270_def using witness_node270 by blast lemma witness_node271: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 (bnot v2)))) (band (band v0 v1) (bnot v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node271: "statement_node271" unfolding statement_node271_def using witness_node271 by blast lemma witness_node272: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot (bor (bnot (band v0 v1)) (band v2 v3))) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node272: "statement_node272" unfolding statement_node272_def using witness_node272 by blast lemma witness_node273: fixes "a" :: "'a" shows "a = a" by simp lemma node273: "statement_node273" unfolding statement_node273_def using witness_node273 by blast lemma witness_node274: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band (band v0 (beq v0 v1)) (beq v0 v2)) v1) (bor (bnot v1) v0)) v0) (bor (bnot v1) v2)) v2) (bor (bnot v2) v3)) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node274: "statement_node274" unfolding statement_node274_def using witness_node274 by blast lemma witness_node275: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band v1 (beq v1 v2)) (beq v2 v0)) (beq v0 v0)) v0)) (band (band (beq v1 v2) (band v1 v2)) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node275: "statement_node275" unfolding statement_node275_def using witness_node275 by blast lemma witness_node276: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band (band (band (band (band (band (band (band (band (band v3 (beq v3 v5)) (beq v3 v2)) (beq v5 v4)) (beq v2 v4)) (beq v2 v5)) (beq v3 v4)) (beq v3 v5)) (beq v5 v0)) (beq v3 v0)) (beq v0 v1)) (beq v1 v1)) v3) v2) v5) v4) v0) v1)) (band (band (band (band v3 v5) (band v2 v4)) v0) v1)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node276: "statement_node276" unfolding statement_node276_def using witness_node276 by blast lemma witness_node277: fixes "a" :: "'a" shows "a = a" by simp lemma node277: "statement_node277" unfolding statement_node277_def using witness_node277 by blast lemma witness_node278: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 v1) v2) v3) v4) v5) v6)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; simp add: bnot_def band_def bor_def beq_def) lemma node278: "statement_node278" unfolding statement_node278_def using witness_node278 by blast lemma witness_node279: fixes "a" :: "'a" shows "a = a" by simp lemma node279: "statement_node279" unfolding statement_node279_def using witness_node279 by blast lemma witness_node280: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node280: "statement_node280" unfolding statement_node280_def using witness_node280 by blast lemma witness_node281: fixes "a" :: "'a" shows "a = a" by simp lemma node281: "statement_node281" unfolding statement_node281_def using witness_node281 by blast lemma witness_node282: fixes "v0" :: "bool" shows "(bor (bnot v0) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node282: "statement_node282" unfolding statement_node282_def using witness_node282 by blast lemma witness_node283: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v2 v0) v1)) (band (beq v2 v0) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node283: "statement_node283" unfolding statement_node283_def using witness_node283 by blast lemma witness_node284: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v3 v1) v2) v0)) (beq (beq v3 v1) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node284: "statement_node284" unfolding statement_node284_def using witness_node284 by blast lemma witness_node285: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (beq v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node285: "statement_node285" unfolding statement_node285_def using witness_node285 by blast lemma witness_node286: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node286: "statement_node286" unfolding statement_node286_def using witness_node286 by blast lemma witness_node287: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v1))) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node287: "statement_node287" unfolding statement_node287_def using witness_node287 by blast lemma witness_node288: fixes "a" :: "'a" shows "a = a" by simp lemma node288: "statement_node288" unfolding statement_node288_def using witness_node288 by blast lemma witness_node289: fixes "a" :: "'a" shows "a = a" by simp lemma node289: "statement_node289" unfolding statement_node289_def using witness_node289 by blast lemma witness_node290: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (beq v1 v2))) (bor (bnot (bor (bnot v2) v0)) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node290: "statement_node290" unfolding statement_node290_def using witness_node290 by blast lemma witness_node291: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band v0 v1) v2) v3) v4) (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (bor (bnot v4) (beq (band v0 v1) (band v2 v3)))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node291: "statement_node291" unfolding statement_node291_def using witness_node291 by blast lemma witness_node292: fixes "a" :: "'a" shows "a = a" by simp lemma node292: "statement_node292" unfolding statement_node292_def using witness_node292 by blast lemma witness_node293: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (bor (bnot (band v0 v1)) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node293: "statement_node293" unfolding statement_node293_def using witness_node293 by blast lemma witness_node294: fixes "value" :: "int" shows "- (- value) = value" by simp lemma node294: "statement_node294" unfolding statement_node294_def using witness_node294 by blast lemma witness_node295: fixes "value" :: "int" shows "- (- value) = value" by simp lemma node295: "statement_node295" unfolding statement_node295_def using witness_node295 by blast lemma witness_node296: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node296: "statement_node296" unfolding statement_node296_def using witness_node296 by blast lemma witness_node297: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (beq v2 (band v0 v1)))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node297: "statement_node297" unfolding statement_node297_def using witness_node297 by blast lemma witness_node298: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node298: "statement_node298" unfolding statement_node298_def using witness_node298 by blast lemma witness_node299: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (bor (bnot v0) v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node299: "statement_node299" unfolding statement_node299_def using witness_node299 by blast lemma witness_node300: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (band v0 v1)) (bor (bnot v1) v2)) (beq v0 v3))) (bor (bnot (bor (bnot v3) (band v0 v1))) v2)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node300: "statement_node300" unfolding statement_node300_def using witness_node300 by blast lemma witness_node301: fixes "a" :: "'a" shows "a = a" by simp lemma node301: "statement_node301" unfolding statement_node301_def using witness_node301 by blast lemma witness_node302: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node302: "statement_node302" unfolding statement_node302_def using witness_node302 by blast lemma witness_node303: fixes "a" :: "'a" shows "a = a" by simp lemma node303: "statement_node303" unfolding statement_node303_def using witness_node303 by blast lemma witness_node304: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (band (band (bor (bnot v0) v1) (beq v1 v2)) (bor (bnot v1) v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node304: "statement_node304" unfolding statement_node304_def using witness_node304 by blast lemma witness_node305: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node305: "statement_node305" unfolding statement_node305_def using witness_node305 by blast lemma witness_node306: fixes "a" and "b" :: "int" shows "abs a \ abs b \ dominantValue a b = dominantValue b a" by (auto simp: dominantValue_def split: if_splits; linarith) lemma node306: "statement_node306" unfolding statement_node306_def using witness_node306 by blast lemma witness_node307: fixes "a" and "b" :: "int" shows "abs a \ abs b \ dominantValue a b = dominantValue b a" by (auto simp: dominantValue_def split: if_splits; linarith) lemma node307: "statement_node307" unfolding statement_node307_def using witness_node307 by blast lemma witness_node308: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3)) (bor (bnot v3) v4))) (beq v4 (band (beq v3 v2) (beq v1 v0)))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node308: "statement_node308" unfolding statement_node308_def using witness_node308 by blast lemma witness_node309: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) (beq v0 v1)) (bor (bnot v2) (band v0 v1)))) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node309: "statement_node309" unfolding statement_node309_def using witness_node309 by blast lemma witness_node310: fixes "v0" :: "bool" shows "(bor (bnot v0) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node310: "statement_node310" unfolding statement_node310_def using witness_node310 by blast lemma witness_node311: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node311: "statement_node311" unfolding statement_node311_def using witness_node311 by blast lemma witness_node312: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v1 (bor (bnot v1) v2)) (beq v2 v3)) (bor (bnot v3) v0))) (band (band v1 v2) (band v3 v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node312: "statement_node312" unfolding statement_node312_def using witness_node312 by blast lemma witness_node313: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v2 (bor (bnot v2) v3)) (beq v3 v0)) (bor (bnot v0) v1))) (band (band v2 v3) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node313: "statement_node313" unfolding statement_node313_def using witness_node313 by blast lemma witness_node314: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v3 (bor (bnot v3) v0)) (beq v0 v1)) (bor (bnot v1) v2))) (band (band v3 v0) (band v1 v2))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node314: "statement_node314" unfolding statement_node314_def using witness_node314 by blast lemma witness_node315: fixes "a" :: "'a" shows "a = a" by simp lemma node315: "statement_node315" unfolding statement_node315_def using witness_node315 by blast lemma witness_node316: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (beq v1 v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node316: "statement_node316" unfolding statement_node316_def using witness_node316 by blast lemma witness_node317: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v1 (bor (bnot v1) v2)) (beq v2 v3)) (bor (bnot v3) v0))) (band (band v1 v2) (band v3 v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node317: "statement_node317" unfolding statement_node317_def using witness_node317 by blast lemma witness_node318: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v2 (bor (bnot v2) v3)) (beq v3 v0)) (bor (bnot v0) v1))) (band (band v2 v3) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node318: "statement_node318" unfolding statement_node318_def using witness_node318 by blast lemma witness_node319: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v3 (bor (bnot v3) v0)) (beq v0 v1)) (bor (bnot v1) v2))) (band (band v3 v0) (band v1 v2))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node319: "statement_node319" unfolding statement_node319_def using witness_node319 by blast lemma witness_node320: fixes "a" :: "'a" shows "a = a" by simp lemma node320: "statement_node320" unfolding statement_node320_def using witness_node320 by blast lemma witness_node321: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node321: "statement_node321" unfolding statement_node321_def using witness_node321 by blast lemma witness_node322: fixes "a" :: "'a" shows "a = a" by simp lemma node322: "statement_node322" unfolding statement_node322_def using witness_node322 by blast lemma witness_node323: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node323: "statement_node323" unfolding statement_node323_def using witness_node323 by blast lemma witness_node324: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node324: "statement_node324" unfolding statement_node324_def using witness_node324 by blast lemma witness_node325: fixes "a" :: "'a" shows "a = a" by simp lemma node325: "statement_node325" unfolding statement_node325_def using witness_node325 by blast lemma witness_node326: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node326: "statement_node326" unfolding statement_node326_def using witness_node326 by blast lemma witness_node327: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node327: "statement_node327" unfolding statement_node327_def using witness_node327 by blast lemma witness_node328: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node328: "statement_node328" unfolding statement_node328_def using witness_node328 by blast lemma witness_node329: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node329: "statement_node329" unfolding statement_node329_def using witness_node329 by blast lemma witness_node330: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node330: "statement_node330" unfolding statement_node330_def using witness_node330 by blast lemma witness_node331: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band (band v0 v1) v2) v3) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node331: "statement_node331" unfolding statement_node331_def using witness_node331 by blast lemma witness_node332: fixes "a" :: "'a" shows "a = a" by simp lemma node332: "statement_node332" unfolding statement_node332_def using witness_node332 by blast lemma witness_node333: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v3 (bor (bnot v3) v0)) (band v0 v1)) (bor (bnot v3) v2))) (beq (bor (bnot (band v0 v1)) v2) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node333: "statement_node333" unfolding statement_node333_def using witness_node333 by blast lemma witness_node334: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (band v1 v2)) (bor (bnot v0) v3))) (beq (bor (bnot (band v0 v1)) v2) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node334: "statement_node334" unfolding statement_node334_def using witness_node334 by blast lemma witness_node335: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (bor (bnot v2) v0)) (bor (bnot v2) v1))) (bor (bnot v2) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node335: "statement_node335" unfolding statement_node335_def using witness_node335 by blast lemma witness_node336: fixes "a" :: "'a" shows "a = a" by simp lemma node336: "statement_node336" unfolding statement_node336_def using witness_node336 by blast lemma witness_node337: fixes "a" :: "'a" shows "a = a" by simp lemma node337: "statement_node337" unfolding statement_node337_def using witness_node337 by blast lemma witness_node338: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) v3) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node338: "statement_node338" unfolding statement_node338_def using witness_node338 by blast lemma witness_node339: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node339: "statement_node339" unfolding statement_node339_def using witness_node339 by blast lemma witness_node340: fixes "a" :: "'a" shows "a = a" by simp lemma node340: "statement_node340" unfolding statement_node340_def using witness_node340 by blast lemma witness_node341: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v6))) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; simp add: bnot_def band_def bor_def beq_def) lemma node341: "statement_node341" unfolding statement_node341_def using witness_node341 by blast lemma witness_node342: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node342: "statement_node342" unfolding statement_node342_def using witness_node342 by blast lemma witness_node343: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node343: "statement_node343" unfolding statement_node343_def using witness_node343 by blast lemma witness_node344: fixes "a" :: "'a" shows "a = a" by simp lemma node344: "statement_node344" unfolding statement_node344_def using witness_node344 by blast lemma witness_node345: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node345: "statement_node345" unfolding statement_node345_def using witness_node345 by blast lemma witness_node346: fixes "a" :: "'a" shows "a = a" by simp lemma node346: "statement_node346" unfolding statement_node346_def using witness_node346 by blast lemma witness_node347: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot (band v0 v1)) v2)) v3) (bor (bnot v3) v4)) (bor (bnot (band v3 v4)) v5))) v5) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node347: "statement_node347" unfolding statement_node347_def using witness_node347 by blast lemma witness_node348: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 v1) (bnot (bnot (band v0 v1))))) (band (band v0 (bnot (bnot v0))) (band v1 (bnot (bnot v1))))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node348: "statement_node348" unfolding statement_node348_def using witness_node348 by blast lemma witness_node349: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band (band (beq v0 v1) v1) (bor (bnot v1) v0)) v0)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node349: "statement_node349" unfolding statement_node349_def using witness_node349 by blast lemma witness_node350: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band (band (band (band (band (band (band v0 v1) v2) (beq v0 v1)) (beq v0 v2)) (beq v1 v0)) (beq v1 v2)) (beq v2 v0)) (beq v2 v1)) (beq v0 v0)) (beq v1 v1)) (beq v2 v2)) v0) v1) v2)) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node350: "statement_node350" unfolding statement_node350_def using witness_node350 by blast lemma witness_node351: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band v0 v1) v2) (beq v0 v0)) (beq v1 v1)) (beq v2 v2)) v0) v1) v2)) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node351: "statement_node351" unfolding statement_node351_def using witness_node351 by blast lemma witness_node352: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (beq v0 v1) (beq v1 v2)) (beq v2 v3))) (beq (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node352: "statement_node352" unfolding statement_node352_def using witness_node352 by blast lemma witness_node353: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (bor (bnot v5) v6))) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; simp add: bnot_def band_def bor_def beq_def) lemma node353: "statement_node353" unfolding statement_node353_def using witness_node353 by blast lemma witness_node354: fixes "a" :: "'a" shows "a = a" by simp lemma node354: "statement_node354" unfolding statement_node354_def using witness_node354 by blast lemma witness_node355: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node355: "statement_node355" unfolding statement_node355_def using witness_node355 by blast lemma witness_node356: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node356: "statement_node356" unfolding statement_node356_def using witness_node356 by blast lemma witness_node357: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (bor (bnot (bor (bnot v2) v1)) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node357: "statement_node357" unfolding statement_node357_def using witness_node357 by blast lemma witness_node358: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node358: "statement_node358" unfolding statement_node358_def using witness_node358 by blast lemma witness_node359: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node359: "statement_node359" unfolding statement_node359_def using witness_node359 by blast lemma witness_node360: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node360: "statement_node360" unfolding statement_node360_def using witness_node360 by blast lemma witness_node361: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) v5)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node361: "statement_node361" unfolding statement_node361_def using witness_node361 by blast lemma witness_node362: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node362: "statement_node362" unfolding statement_node362_def using witness_node362 by blast lemma witness_node363: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node363: "statement_node363" unfolding statement_node363_def using witness_node363 by blast lemma witness_node364: fixes "a" :: "'a" shows "a = a" by simp lemma node364: "statement_node364" unfolding statement_node364_def using witness_node364 by blast lemma witness_node365: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node365: "statement_node365" unfolding statement_node365_def using witness_node365 by blast lemma witness_node366: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node366: "statement_node366" unfolding statement_node366_def using witness_node366 by blast lemma witness_node367: fixes "a" :: "'a" shows "a = a" by simp lemma node367: "statement_node367" unfolding statement_node367_def using witness_node367 by blast lemma witness_node368: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node368: "statement_node368" unfolding statement_node368_def using witness_node368 by blast lemma witness_node369: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v0) v2)) (bor (bnot v0) (beq v1 v2))) v3) (bor (bnot v3) v4)) (bor (bnot v4) (band (band v0 v1) v2)))) (beq v0 (beq v1 v2))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node369: "statement_node369" unfolding statement_node369_def using witness_node369 by blast lemma witness_node370: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (beq v2 v0) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node370: "statement_node370" unfolding statement_node370_def using witness_node370 by blast lemma witness_node371: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) (band v1 v2)))) v2) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node371: "statement_node371" unfolding statement_node371_def using witness_node371 by blast lemma witness_node372: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (bor (bnot v0) v2) (bor (bnot v2) v1))) (bor (bnot (band v0 v2)) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node372: "statement_node372" unfolding statement_node372_def using witness_node372 by blast lemma witness_node373: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v2 (bor (bnot v2) v1)) (bor (bnot (bor (bnot v2) v1)) v0))) (bor (bnot v2) (bnot (band v2 (bnot (band v1 v0)))))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node373: "statement_node373" unfolding statement_node373_def using witness_node373 by blast lemma witness_node374: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node374: "statement_node374" unfolding statement_node374_def using witness_node374 by blast lemma witness_node375: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node375: "statement_node375" unfolding statement_node375_def using witness_node375 by blast lemma witness_node376: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) v3) (bor (bnot v3) v0)) v0) v1) v2)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node376: "statement_node376" unfolding statement_node376_def using witness_node376 by blast lemma witness_node377: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node377: "statement_node377" unfolding statement_node377_def using witness_node377 by blast lemma witness_node378: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node378: "statement_node378" unfolding statement_node378_def using witness_node378 by blast lemma witness_node379: fixes "a" :: "'a" shows "a = a" by simp lemma node379: "statement_node379" unfolding statement_node379_def using witness_node379 by blast lemma witness_node380: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node380: "statement_node380" unfolding statement_node380_def using witness_node380 by blast lemma witness_node381: fixes "a" :: "'a" shows "a = a" by simp lemma node381: "statement_node381" unfolding statement_node381_def using witness_node381 by blast lemma witness_node382: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (bor (bnot v0) (band v0 v1))) (band v0 (band v1 v2)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node382: "statement_node382" unfolding statement_node382_def using witness_node382 by blast lemma witness_node383: fixes "a" :: "'a" shows "a = a" by simp lemma node383: "statement_node383" unfolding statement_node383_def using witness_node383 by blast lemma witness_node384: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1))) (bor (bnot v2) (band v0 v1))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node384: "statement_node384" unfolding statement_node384_def using witness_node384 by blast lemma witness_node385: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band (band v0 (beq v0 v1)) v2) (bor (bnot v2) v0)) (bor (bnot v2) v1)) v3) (bor (bnot v3) v5)) v4) (bor (bnot v4) v5)) v5)) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node385: "statement_node385" unfolding statement_node385_def using witness_node385 by blast lemma witness_node386: fixes "a" :: "'a" shows "a = a" by simp lemma node386: "statement_node386" unfolding statement_node386_def using witness_node386 by blast lemma witness_node387: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (beq v5 v0))) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node387: "statement_node387" unfolding statement_node387_def using witness_node387 by blast lemma witness_node388: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (beq v5 v0))) (band (band (band (band (band v0 v1) v2) v3) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node388: "statement_node388" unfolding statement_node388_def using witness_node388 by blast lemma witness_node389: fixes "a" :: "'a" shows "a = a" by simp lemma node389: "statement_node389" unfolding statement_node389_def using witness_node389 by blast lemma witness_node390: fixes "u" shows "sevenChecks u" by (cases "cycleState u"; simp add: sevenChecks_def cycleSigned_def) lemma node390: "statement_node390" unfolding statement_node390_def using witness_node390 by blast lemma witness_node391: fixes "a" :: "'a" shows "a = a" by simp lemma node391: "statement_node391" unfolding statement_node391_def using witness_node391 by blast lemma witness_node392: fixes "u" shows "sevenChecks u" by (cases "cycleState u"; simp add: sevenChecks_def cycleSigned_def) lemma node392: "statement_node392" unfolding statement_node392_def using witness_node392 by blast lemma witness_node393: fixes "a" :: "'a" shows "a = a" by simp lemma node393: "statement_node393" unfolding statement_node393_def using witness_node393 by blast lemma witness_node394: fixes "values" and "parity" shows "signatureInvariants (generatedSignature values parity)" by (auto simp: signatureInvariants_def generatedSignature_def signatureSigned_def Let_def) lemma node394: "statement_node394" unfolding statement_node394_def using witness_node394 by blast lemma witness_node395: fixes "values" and "parity" shows "signatureInvariants (generatedSignature values parity)" by (auto simp: signatureInvariants_def generatedSignature_def signatureSigned_def Let_def) lemma node395: "statement_node395" unfolding statement_node395_def using witness_node395 by blast lemma witness_node396: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) v1)) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node396: "statement_node396" unfolding statement_node396_def using witness_node396 by blast lemma witness_node397: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node397: "statement_node397" unfolding statement_node397_def using witness_node397 by blast lemma witness_node398: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node398: "statement_node398" unfolding statement_node398_def using witness_node398 by blast lemma witness_node399: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band v0 (beq v0 v1))) (beq v1 v0)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node399: "statement_node399" unfolding statement_node399_def using witness_node399 by blast lemma witness_node400: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) (band v1 v2)))) (beq v2 (band v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node400: "statement_node400" unfolding statement_node400_def using witness_node400 by blast lemma witness_node401: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 v1) (beq v0 v1))) (band (band v0 v1) (bnot (bnot (band v0 v1))))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node401: "statement_node401" unfolding statement_node401_def using witness_node401 by blast lemma witness_node402: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node402: "statement_node402" unfolding statement_node402_def using witness_node402 by blast lemma witness_node403: fixes "a" :: "'a" shows "a = a" by simp lemma node403: "statement_node403" unfolding statement_node403_def using witness_node403 by blast lemma witness_node404: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node404: "statement_node404" unfolding statement_node404_def using witness_node404 by blast lemma witness_node405: fixes "a" :: "'a" shows "a = a" by simp lemma node405: "statement_node405" unfolding statement_node405_def using witness_node405 by blast lemma witness_node406: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node406: "statement_node406" unfolding statement_node406_def using witness_node406 by blast lemma witness_node407: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node407: "statement_node407" unfolding statement_node407_def using witness_node407 by blast lemma witness_node408: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node408: "statement_node408" unfolding statement_node408_def using witness_node408 by blast lemma witness_node409: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node409: "statement_node409" unfolding statement_node409_def using witness_node409 by blast lemma witness_node410: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node410: "statement_node410" unfolding statement_node410_def using witness_node410 by blast lemma witness_node411: fixes "a" :: "'a" shows "a = a" by simp lemma node411: "statement_node411" unfolding statement_node411_def using witness_node411 by blast lemma witness_node412: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (bor (bnot v0) v1)) (bor (bnot (bor (bnot v0) v0)) (bor (bnot v1) v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node412: "statement_node412" unfolding statement_node412_def using witness_node412 by blast lemma witness_node413: fixes "a" :: "'a" shows "a = a" by simp lemma node413: "statement_node413" unfolding statement_node413_def using witness_node413 by blast lemma witness_node414: fixes "v0" :: "bool" shows "(bor (bnot (band v0 (beq v0 (bnot (bor (bnot v0) (band v0 (bnot v0))))))) (band v0 (bnot (bnot v0)))) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node414: "statement_node414" unfolding statement_node414_def using witness_node414 by blast lemma witness_node415: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node415: "statement_node415" unfolding statement_node415_def using witness_node415 by blast lemma witness_node416: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3))) (bor (band (band v0 v1) (band v2 v3)) (bnot (band (band v0 v1) (band v2 v3))))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node416: "statement_node416" unfolding statement_node416_def using witness_node416 by blast lemma witness_node417: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) v2) v3) v4) v5)) (beq (band (band v0 v1) (band v2 v3)) (band v4 v5))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node417: "statement_node417" unfolding statement_node417_def using witness_node417 by blast lemma witness_node418: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (beq (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node418: "statement_node418" unfolding statement_node418_def using witness_node418 by blast lemma witness_node419: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (beq (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node419: "statement_node419" unfolding statement_node419_def using witness_node419 by blast lemma witness_node420: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band (band v0 v1) v2)) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node420: "statement_node420" unfolding statement_node420_def using witness_node420 by blast lemma witness_node421: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node421: "statement_node421" unfolding statement_node421_def using witness_node421 by blast lemma witness_node422: fixes "a" :: "'a" shows "a = a" by simp lemma node422: "statement_node422" unfolding statement_node422_def using witness_node422 by blast lemma witness_node423: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (bor (bnot (band (band v0 v1) v2)) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node423: "statement_node423" unfolding statement_node423_def using witness_node423 by blast lemma witness_node424: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node424: "statement_node424" unfolding statement_node424_def using witness_node424 by blast lemma witness_node425: fixes "a" :: "'a" shows "a = a" by simp lemma node425: "statement_node425" unfolding statement_node425_def using witness_node425 by blast lemma witness_node426: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node426: "statement_node426" unfolding statement_node426_def using witness_node426 by blast lemma witness_node427: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) (bor (bnot (band v0 v1)) v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node427: "statement_node427" unfolding statement_node427_def using witness_node427 by blast lemma witness_node428: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 v1) (bor (bnot v0) v1)) (bor (bnot v1) v0)) (beq v0 v1)) (band v0 v1))) (band (band (bor (bnot v0) v1) (bor (bnot v1) v0)) (band v0 v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node428: "statement_node428" unfolding statement_node428_def using witness_node428 by blast lemma witness_node429: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (bor (bnot v0) v1) (bor (bnot v0) v2))) (bor (bnot v0) (band v1 v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node429: "statement_node429" unfolding statement_node429_def using witness_node429 by blast lemma witness_node430: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (band v0 v1)) (band v1 v2)) (band v2 v3))) (beq (beq v0 v1) (beq v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node430: "statement_node430" unfolding statement_node430_def using witness_node430 by blast lemma witness_node431: fixes "a" :: "'a" shows "a = a" by simp lemma node431: "statement_node431" unfolding statement_node431_def using witness_node431 by blast lemma witness_node432: fixes "a" :: "'a" shows "a = a" by simp lemma node432: "statement_node432" unfolding statement_node432_def using witness_node432 by blast lemma witness_node433: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node433: "statement_node433" unfolding statement_node433_def using witness_node433 by blast lemma witness_node434: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (bor (bnot (bor (bnot v0) v0)) v1) (bor (bnot v1) v2))) (band (bor (bnot (bor (bnot (bor (bnot v0) v0)) v1)) v2) (bor (bnot (bor (bnot (bor (bnot v0) v0)) (bnot v1))) (bnot v2)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node434: "statement_node434" unfolding statement_node434_def using witness_node434 by blast lemma witness_node435: fixes "a" :: "'a" shows "a = a" by simp lemma node435: "statement_node435" unfolding statement_node435_def using witness_node435 by blast lemma witness_node436: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (beq (band (band v0 v1) v2) v3)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node436: "statement_node436" unfolding statement_node436_def using witness_node436 by blast lemma witness_node437: fixes "a" :: "'a" shows "a = a" by simp lemma node437: "statement_node437" unfolding statement_node437_def using witness_node437 by blast lemma witness_node438: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node438: "statement_node438" unfolding statement_node438_def using witness_node438 by blast lemma witness_node439: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 v1) v2)) (beq (beq (beq v0 v1) (beq v1 v2)) (beq v2 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node439: "statement_node439" unfolding statement_node439_def using witness_node439 by blast lemma witness_node440: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node440: "statement_node440" unfolding statement_node440_def using witness_node440 by blast lemma witness_node441: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" and "v7" :: "bool" and "v8" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4)) (beq v4 v5)) (beq v5 v6)) (beq v6 v7)) (beq v7 v8))) (band (band (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6) v7) v8)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; cases v7; cases v8; simp add: bnot_def band_def bor_def beq_def) lemma node441: "statement_node441" unfolding statement_node441_def using witness_node441 by blast lemma witness_node442: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v1)) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node442: "statement_node442" unfolding statement_node442_def using witness_node442 by blast lemma witness_node443: fixes "a" :: "'a" shows "a = a" by simp lemma node443: "statement_node443" unfolding statement_node443_def using witness_node443 by blast lemma witness_node444: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) v2) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node444: "statement_node444" unfolding statement_node444_def using witness_node444 by blast lemma witness_node445: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (bor (bnot v0) v0)) (bor (bnot (bor (bnot v0) v0)) (band (bor (bnot v1) v1) (bor (bnot v2) v2)))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node445: "statement_node445" unfolding statement_node445_def using witness_node445 by blast lemma witness_node446: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (beq (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node446: "statement_node446" unfolding statement_node446_def using witness_node446 by blast lemma witness_node447: fixes "a" :: "'a" shows "a = a" by simp lemma node447: "statement_node447" unfolding statement_node447_def using witness_node447 by blast lemma witness_node448: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v2)) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node448: "statement_node448" unfolding statement_node448_def using witness_node448 by blast lemma witness_node449: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (bor (bnot (bor (bnot v2) v1)) v0)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node449: "statement_node449" unfolding statement_node449_def using witness_node449 by blast lemma witness_node450: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (beq v0 v1)) (bor (bnot v1) v2)) (bor (bnot v0) v3)) (beq v3 v4)) v3)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node450: "statement_node450" unfolding statement_node450_def using witness_node450 by blast lemma witness_node451: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) v4)) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node451: "statement_node451" unfolding statement_node451_def using witness_node451 by blast lemma witness_node452: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (beq v1 v2))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node452: "statement_node452" unfolding statement_node452_def using witness_node452 by blast lemma witness_node453: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (bor (bnot (bor (bnot v3) v2)) (bor (bnot v1) v0))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node453: "statement_node453" unfolding statement_node453_def using witness_node453 by blast lemma witness_node454: fixes "a" :: "'a" shows "a = a" by simp lemma node454: "statement_node454" unfolding statement_node454_def using witness_node454 by blast lemma witness_node455: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) v0))) (band (bor v1 (bnot v1)) (bnot (band v2 (bnot v2))))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node455: "statement_node455" unfolding statement_node455_def using witness_node455 by blast lemma witness_node456: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v0))) (band (beq v1 v0) (bor (bnot v2) v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node456: "statement_node456" unfolding statement_node456_def using witness_node456 by blast lemma witness_node457: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v0)) (beq v0 (bnot v1)))) (band v0 (bnot v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node457: "statement_node457" unfolding statement_node457_def using witness_node457 by blast lemma witness_node458: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (band (beq v0 v1) (beq v1 v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node458: "statement_node458" unfolding statement_node458_def using witness_node458 by blast lemma witness_node459: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node459: "statement_node459" unfolding statement_node459_def using witness_node459 by blast lemma witness_node460: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" and "v6" :: "bool" shows "(bor (bnot (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v6))) (band (band (band (band (band v0 v1) (band v2 v3)) v4) v5) v6)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; cases v6; simp add: bnot_def band_def bor_def beq_def) lemma node460: "statement_node460" unfolding statement_node460_def using witness_node460 by blast lemma witness_node461: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node461: "statement_node461" unfolding statement_node461_def using witness_node461 by blast lemma witness_node462: fixes "a" :: "'a" shows "a = a" by simp lemma node462: "statement_node462" unfolding statement_node462_def using witness_node462 by blast lemma witness_node463: fixes "a" :: "'a" shows "a = a" by simp lemma node463: "statement_node463" unfolding statement_node463_def using witness_node463 by blast lemma witness_node464: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v0)) (beq v0 (bnot v1)))) (band v0 (bnot v1))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node464: "statement_node464" unfolding statement_node464_def using witness_node464 by blast lemma witness_node465: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (band (beq v0 v1) (beq v1 v2))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node465: "statement_node465" unfolding statement_node465_def using witness_node465 by blast lemma witness_node466: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node466: "statement_node466" unfolding statement_node466_def using witness_node466 by blast lemma witness_node467: fixes "a" :: "'a" shows "a = a" by simp lemma node467: "statement_node467" unfolding statement_node467_def using witness_node467 by blast lemma witness_node468: fixes "a" :: "'a" shows "a = a" by simp lemma node468: "statement_node468" unfolding statement_node468_def using witness_node468 by blast lemma witness_node469: fixes "a" :: "'a" shows "a = a" by simp lemma node469: "statement_node469" unfolding statement_node469_def using witness_node469 by blast lemma witness_node470: fixes "a" :: "'a" shows "a = a" by simp lemma node470: "statement_node470" unfolding statement_node470_def using witness_node470 by blast lemma witness_node471: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) (band v1 v2))) (bor (bnot (band v1 v2)) v3)) (bor (bnot v0) v0))) (band v3 (bor (bnot v3) v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node471: "statement_node471" unfolding statement_node471_def using witness_node471 by blast lemma witness_node472: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (bor (bnot v0) v1) (bor (bnot v1) v0))) (band (bor (bnot v0) v1) (beq v1 v0))) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node472: "statement_node472" unfolding statement_node472_def using witness_node472 by blast lemma witness_node473: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 v1) v2) v3)) (beq (beq v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node473: "statement_node473" unfolding statement_node473_def using witness_node473 by blast lemma witness_node474: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node474: "statement_node474" unfolding statement_node474_def using witness_node474 by blast lemma witness_node475: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2))) (bor (bnot (band v0 v2)) v1)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node475: "statement_node475" unfolding statement_node475_def using witness_node475 by blast lemma witness_node476: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) (band v1 v2))) (bor (bnot (band v1 v2)) v3)) (bor (bnot v0) v0))) (band v3 (bor (bnot v3) v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node476: "statement_node476" unfolding statement_node476_def using witness_node476 by blast lemma witness_node477: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (band (band v0 (bnot (bnot v1))) (beq v0 v1))) (band v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node477: "statement_node477" unfolding statement_node477_def using witness_node477 by blast lemma witness_node478: fixes "a" :: "'a" shows "a = a" by simp lemma node478: "statement_node478" unfolding statement_node478_def using witness_node478 by blast lemma witness_node479: fixes "v0" :: "bool" and "v1" :: "bool" shows "(bor (bnot (beq v0 v1)) (beq v0 v1)) = True" by (cases v0; cases v1; simp add: bnot_def band_def bor_def beq_def) lemma node479: "statement_node479" unfolding statement_node479_def using witness_node479 by blast lemma witness_node480: fixes "a" :: "'a" shows "a = a" by simp lemma node480: "statement_node480" unfolding statement_node480_def using witness_node480 by blast lemma witness_node481: fixes "a" :: "'a" shows "a = a" by simp lemma node481: "statement_node481" unfolding statement_node481_def using witness_node481 by blast lemma witness_node482: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (beq v0 v1)) (bor (bnot v1) v2))) (bor (bnot (band (band v0 v1) v2)) (bnot (band (band (band v0 v1) v2) (bnot (band (band v0 v1) v2)))))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node482: "statement_node482" unfolding statement_node482_def using witness_node482 by blast lemma witness_node483: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3)) (beq v3 v4))) (band (band (band v0 v1) (band v2 v3)) v4)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node483: "statement_node483" unfolding statement_node483_def using witness_node483 by blast lemma witness_node484: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node484: "statement_node484" unfolding statement_node484_def using witness_node484 by blast lemma witness_node485: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band v0 (bor (bnot v0) (band v1 v2)))) (bor (bnot v0) (bnot (bor (bnot v0) (bnot (band v1 v2)))))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node485: "statement_node485" unfolding statement_node485_def using witness_node485 by blast lemma witness_node486: fixes "v0" :: "bool" shows "(bor (bnot v0) v0) = True" by (cases v0; simp add: bnot_def band_def bor_def beq_def) lemma node486: "statement_node486" unfolding statement_node486_def using witness_node486 by blast lemma witness_node487: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node487: "statement_node487" unfolding statement_node487_def using witness_node487 by blast lemma witness_node488: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band v0 (beq v0 v1)) (beq v1 v2)) (beq v2 v3))) (band (band v0 v1) (band v2 v3))) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node488: "statement_node488" unfolding statement_node488_def using witness_node488 by blast lemma witness_node489: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band v0 (bor (bnot v0) (bnot v1))) (bor (bnot (band v1 v2)) v4)) (bor (bnot (band v2 v3)) v3))) (band (bor (bnot v3) (bnot (band v1 v4))) (bor (bnot v3) v0))) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node489: "statement_node489" unfolding statement_node489_def using witness_node489 by blast lemma witness_node490: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (beq v0 v1) (beq v1 v2))) (bor (bnot v2) (beq v1 v0))) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node490: "statement_node490" unfolding statement_node490_def using witness_node490 by blast lemma witness_node491: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" shows "(bor (bnot (band (band (band (band v0 v1) v2) (bor (bnot (band v0 v1)) v3)) (bor (bnot (band v1 v2)) v3))) (beq v3 v1)) = True" by (cases v0; cases v1; cases v2; cases v3; simp add: bnot_def band_def bor_def beq_def) lemma node491: "statement_node491" unfolding statement_node491_def using witness_node491 by blast lemma witness_node492: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node492: "statement_node492" unfolding statement_node492_def using witness_node492 by blast lemma witness_node493: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" and "v5" :: "bool" shows "(bor (bnot (band (band (band (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (bor (bnot v2) v3)) (bor (bnot v3) v4)) (bor (bnot v4) v5)) (bor (bnot v5) v0)) (bnot (band (band (band (band (band (bnot v0) (bnot v1)) (bnot v2)) (bnot v3)) (bnot v4)) (bnot v5))))) (band (band (band (band v0 v1) (band v2 v3)) v4) v5)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; cases v5; simp add: bnot_def band_def bor_def beq_def) lemma node493: "statement_node493" unfolding statement_node493_def using witness_node493 by blast lemma witness_node494: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" and "v3" :: "bool" and "v4" :: "bool" shows "(bor (bnot (band (band (band (band v0 (bor (bnot v0) v1)) (bor (bnot v1) v2)) (beq v2 v3)) (beq v3 v4))) (beq (band (band v4 v3) (band v2 v1)) v0)) = True" by (cases v0; cases v1; cases v2; cases v3; cases v4; simp add: bnot_def band_def bor_def beq_def) lemma node494: "statement_node494" unfolding statement_node494_def using witness_node494 by blast lemma witness_node495: fixes "a" :: "'a" shows "a = a" by simp lemma node495: "statement_node495" unfolding statement_node495_def using witness_node495 by blast lemma witness_node496: fixes "a" shows "exponentXorState a a = 1" by (simp add: exponentXorState_def even_add) lemma node496: "statement_node496" unfolding statement_node496_def using witness_node496 by blast lemma witness_node497: fixes "a" shows "exponentXorState a a = 1" by (simp add: exponentXorState_def even_add) lemma node497: "statement_node497" unfolding statement_node497_def using witness_node497 by blast lemma witness_node498: fixes "v0" :: "bool" and "v1" :: "bool" and "v2" :: "bool" shows "(bor (bnot (band (band v0 (bor (bnot v0) v1)) (beq v2 v0))) (band (band v0 v1) v2)) = True" by (cases v0; cases v1; cases v2; simp add: bnot_def band_def bor_def beq_def) lemma node498: "statement_node498" unfolding statement_node498_def using witness_node498 by blast lemma witness_node499: shows "mcb_program_code = mcb_data_code" by (simp add: mcb_program_code_def mcb_data_code_def) lemma node499: "statement_node499" unfolding statement_node499_def using witness_node499 by blast lemmas mcb_code_and_data_same_type = witness_node499 lemma witness_node500: fixes "e" shows "unquoteMCB (quoteMCB e) = e" by (induction e) simp_all lemma node500: "statement_node500" unfolding statement_node500_def using witness_node500 by blast lemmas mcb_unquote_quote = witness_node500 lemma witness_node501: fixes "d" shows "quoteMCB (unquoteMCB d) = d" by (induction d) simp_all lemma node501: "statement_node501" unfolding statement_node501_def using witness_node501 by blast lemmas mcb_quote_unquote = witness_node501 lemma witness_node502: fixes "n" :: "int" shows "phaseMCB n = 1 \ phaseMCB n = -1" by (cases "n mod 2 = 0"; simp add: phaseMCB_def) lemma node502: "statement_node502" unfolding statement_node502_def using witness_node502 by blast lemmas mcb_phase_bivalence = witness_node502 lemma witness_node503: fixes "n" :: "int" shows "n mod 2 = 0 \ phaseMCB n = 1" by (simp add: phaseMCB_def) lemma node503: "statement_node503" unfolding statement_node503_def using witness_node503 by blast lemmas mcb_even_phase = witness_node503 lemma witness_node504: fixes "e" shows "evalMCBData (quoteMCB e) = evalMCB e" by (simp add: evalMCBData_def mcb_unquote_quote) lemma node504: "statement_node504" unfolding statement_node504_def using witness_node504 by blast lemmas mcb_data_execution_agrees = witness_node504 lemma witness_node505: fixes "f" and "e" shows "quoteMCB (reweightMCB f e) = reweightMCBData f (quoteMCB e)" by (induction e) simp_all lemma node505: "statement_node505" unfolding statement_node505_def using witness_node505 by blast lemmas mcb_code_data_transformation_agrees = witness_node505 lemma witness_node506: fixes "e" shows "evalMCB e = sumMCBData (mcbContributions e)" by (induction e) (simp_all add: add.assoc) lemma node506: "statement_node506" unfolding statement_node506_def using witness_node506 by blast lemmas mcb_self_summation = witness_node506 lemma witness_node507: fixes "e" shows "evalMCB (normalizeMCB e) = evalMCB e" by (simp add: normalizeMCB_def) lemma node507: "statement_node507" unfolding statement_node507_def using witness_node507 by blast lemmas mcb_normalization_preserves_meaning = witness_node507 lemma witness_node508: fixes "e" shows "normalizeMCB (normalizeMCB e) = normalizeMCB e" by (simp add: normalizeMCB_def) lemma node508: "statement_node508" unfolding statement_node508_def using witness_node508 by blast lemmas mcb_normalization_idempotent = witness_node508 lemma witness_node509: fixes "e" shows "\v::int. evalMCB e = v \ (\w. evalMCB e = w \ w = v)" by (rule exI[where x="evalMCB e"]) auto lemma node509: "statement_node509" unfolding statement_node509_def using witness_node509 by blast lemmas mcb_single_value = witness_node509 lemma witness_node510: fixes "e" and "v" :: "int" shows "\ (evalMCB e = v \ evalMCB e \ v)" by auto lemma node510: "statement_node510" unfolding statement_node510_def using witness_node510 by blast lemmas mcb_reason_noncontradiction = witness_node510 lemma witness_node511: shows "mcbContributions mcbInitProgram = [-1, 1, -1, 1, -1, 1, -1, 1]" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node511: "statement_node511" unfolding statement_node511_def using witness_node511 by blast lemmas mcb_init_has_exact_phase_data = witness_node511 lemma witness_node512: shows "evalMCB mcbInitProgram = 0" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node512: "statement_node512" unfolding statement_node512_def using witness_node512 by blast lemmas init_program_achieves_perfect_stasis = witness_node512 lemma witness_node513: shows "normalizeMCB mcbInitProgram = MCB_Balance 0" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node513: "statement_node513" unfolding statement_node513_def using witness_node513 by blast lemmas mcb_init_is_single_balance = witness_node513 lemma witness_node514: shows "phaseMCB (evalMCB mcbInitProgram) = 1" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node514: "statement_node514" unfolding statement_node514_def using witness_node514 by blast lemmas mcb_init_outer_phase = witness_node514 lemma witness_node515: shows "normalizeMCB mcbInitialization = MCB_Balance 1" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node515: "statement_node515" unfolding statement_node515_def using witness_node515 by blast lemmas mcb_complete_init_is_single_positive_state = witness_node515 lemma witness_node516: shows "evalMCB mcbInitProgram = compiledMCBInitBalance" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node516: "statement_node516" unfolding statement_node516_def using witness_node516 by blast lemmas mcb_init_literal_is_exact = witness_node516 lemma witness_node517: shows "compiledMCBInitBalance = 0" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node517: "statement_node517" unfolding statement_node517_def using witness_node517 by blast lemmas mcb_compiled_literal_self_identity = witness_node517 lemma witness_node518: shows "evalMCB mcbInitProgram \ -1" by (simp add: normalizeMCB_def mcbInitialization_def mcbInitProgram_def compiledMCBInitBalance_def phaseMCB_def) lemma node518: "statement_node518" unfolding statement_node518_def using witness_node518 by blast lemmas mcb_balance_zero_is_not_fixed_ground = witness_node518 lemma witness_node519: fixes "p" and "q" shows "nativeNand p q = signed (\ (p \ q))" by (cases p; cases q; simp add: nativeNand_def) lemma node519: "statement_node519" unfolding statement_node519_def using witness_node519 by blast lemmas nand_signed_truth_table = witness_node519 lemma witness_node520: fixes "xs" shows "foldl (\) True xs = sourceConjunction xs" by (simp add: fold_preserves_source) lemma node520: "statement_node520" unfolding statement_node520_def using witness_node520 by blast lemmas single_root_preserves_conjunction = witness_node520 lemma witness_node521: shows "encode Role_Ground (-1) = Some True" by (simp add: encode_def) lemma node521: "statement_node521" unfolding statement_node521_def using witness_node521 by blast lemmas fixed_ground_encoding = witness_node521 lemma witness_node522: shows "encode Role_Runtime (-1) = Some False" by (simp add: encode_def) lemma node522: "statement_node522" unfolding statement_node522_def using witness_node522 by blast lemmas negative_runtime_encoding = witness_node522 lemma witness_node523: fixes "b" shows "encode Role_Runtime (signed b) = Some b" by (cases b; simp add: encode_def) lemma node523: "statement_node523" unfolding statement_node523_def using witness_node523 by blast lemmas runtime_roundtrip = witness_node523 definition Certified :: "bool list \ bool" where "Certified ps \ list_all id ps" lemma certified_member: "Certified ps \ p \ set ps \ p" by (auto simp: Certified_def list_all_iff) definition allStatements :: "bool list" where "allStatements = [statement_node0, statement_node1, statement_node2, statement_node3, statement_node4, statement_node5, statement_node6, statement_node7, statement_node8, statement_node9, statement_node10, statement_node11, statement_node12, statement_node13, statement_node14, statement_node15, statement_node16, statement_node17, statement_node18, statement_node19, statement_node20, statement_node21, statement_node22, statement_node23, statement_node24, statement_node25, statement_node26, statement_node27, statement_node28, statement_node29, statement_node30, statement_node31, statement_node32, statement_node33, statement_node34, statement_node35, statement_node36, statement_node37, statement_node38, statement_node39, statement_node40, statement_node41, statement_node42, statement_node43, statement_node44, statement_node45, statement_node46, statement_node47, statement_node48, statement_node49, statement_node50, statement_node51, statement_node52, statement_node53, statement_node54, statement_node55, statement_node56, statement_node57, statement_node58, statement_node59, statement_node60, statement_node61, statement_node62, statement_node63, statement_node64, statement_node65, statement_node66, statement_node67, statement_node68, statement_node69, statement_node70, statement_node71, statement_node72, statement_node73, statement_node74, statement_node75, statement_node76, statement_node77, statement_node78, statement_node79, statement_node80, statement_node81, statement_node82, statement_node83, statement_node84, statement_node85, statement_node86, statement_node87, statement_node88, statement_node89, statement_node90, statement_node91, statement_node92, statement_node93, statement_node94, statement_node95, statement_node96, statement_node97, statement_node98, statement_node99, statement_node100, statement_node101, statement_node102, statement_node103, statement_node104, statement_node105, statement_node106, statement_node107, statement_node108, statement_node109, statement_node110, statement_node111, statement_node112, statement_node113, statement_node114, statement_node115, statement_node116, statement_node117, statement_node118, statement_node119, statement_node120, statement_node121, statement_node122, statement_node123, statement_node124, statement_node125, statement_node126, statement_node127, statement_node128, statement_node129, statement_node130, statement_node131, statement_node132, statement_node133, statement_node134, statement_node135, statement_node136, statement_node137, statement_node138, statement_node139, statement_node140, statement_node141, statement_node142, statement_node143, statement_node144, statement_node145, statement_node146, statement_node147, statement_node148, statement_node149, statement_node150, statement_node151, statement_node152, statement_node153, statement_node154, statement_node155, statement_node156, statement_node157, statement_node158, statement_node159, statement_node160, statement_node161, statement_node162, statement_node163, statement_node164, statement_node165, statement_node166, statement_node167, statement_node168, statement_node169, statement_node170, statement_node171, statement_node172, statement_node173, statement_node174, statement_node175, statement_node176, statement_node177, statement_node178, statement_node179, statement_node180, statement_node181, statement_node182, statement_node183, statement_node184, statement_node185, statement_node186, statement_node187, statement_node188, statement_node189, statement_node190, statement_node191, statement_node192, statement_node193, statement_node194, statement_node195, statement_node196, statement_node197, statement_node198, statement_node199, statement_node200, statement_node201, statement_node202, statement_node203, statement_node204, statement_node205, statement_node206, statement_node207, statement_node208, statement_node209, statement_node210, statement_node211, statement_node212, statement_node213, statement_node214, statement_node215, statement_node216, statement_node217, statement_node218, statement_node219, statement_node220, statement_node221, statement_node222, statement_node223, statement_node224, statement_node225, statement_node226, statement_node227, statement_node228, statement_node229, statement_node230, statement_node231, statement_node232, statement_node233, statement_node234, statement_node235, statement_node236, statement_node237, statement_node238, statement_node239, statement_node240, statement_node241, statement_node242, statement_node243, statement_node244, statement_node245, statement_node246, statement_node247, statement_node248, statement_node249, statement_node250, statement_node251, statement_node252, statement_node253, statement_node254, statement_node255, statement_node256, statement_node257, statement_node258, statement_node259, statement_node260, statement_node261, statement_node262, statement_node263, statement_node264, statement_node265, statement_node266, statement_node267, statement_node268, statement_node269, statement_node270, statement_node271, statement_node272, statement_node273, statement_node274, statement_node275, statement_node276, statement_node277, statement_node278, statement_node279, statement_node280, statement_node281, statement_node282, statement_node283, statement_node284, statement_node285, statement_node286, statement_node287, statement_node288, statement_node289, statement_node290, statement_node291, statement_node292, statement_node293, statement_node294, statement_node295, statement_node296, statement_node297, statement_node298, statement_node299, statement_node300, statement_node301, statement_node302, statement_node303, statement_node304, statement_node305, statement_node306, statement_node307, statement_node308, statement_node309, statement_node310, statement_node311, statement_node312, statement_node313, statement_node314, statement_node315, statement_node316, statement_node317, statement_node318, statement_node319, statement_node320, statement_node321, statement_node322, statement_node323, statement_node324, statement_node325, statement_node326, statement_node327, statement_node328, statement_node329, statement_node330, statement_node331, statement_node332, statement_node333, statement_node334, statement_node335, statement_node336, statement_node337, statement_node338, statement_node339, statement_node340, statement_node341, statement_node342, statement_node343, statement_node344, statement_node345, statement_node346, statement_node347, statement_node348, statement_node349, statement_node350, statement_node351, statement_node352, statement_node353, statement_node354, statement_node355, statement_node356, statement_node357, statement_node358, statement_node359, statement_node360, statement_node361, statement_node362, statement_node363, statement_node364, statement_node365, statement_node366, statement_node367, statement_node368, statement_node369, statement_node370, statement_node371, statement_node372, statement_node373, statement_node374, statement_node375, statement_node376, statement_node377, statement_node378, statement_node379, statement_node380, statement_node381, statement_node382, statement_node383, statement_node384, statement_node385, statement_node386, statement_node387, statement_node388, statement_node389, statement_node390, statement_node391, statement_node392, statement_node393, statement_node394, statement_node395, statement_node396, statement_node397, statement_node398, statement_node399, statement_node400, statement_node401, statement_node402, statement_node403, statement_node404, statement_node405, statement_node406, statement_node407, statement_node408, statement_node409, statement_node410, statement_node411, statement_node412, statement_node413, statement_node414, statement_node415, statement_node416, statement_node417, statement_node418, statement_node419, statement_node420, statement_node421, statement_node422, statement_node423, statement_node424, statement_node425, statement_node426, statement_node427, statement_node428, statement_node429, statement_node430, statement_node431, statement_node432, statement_node433, statement_node434, statement_node435, statement_node436, statement_node437, statement_node438, statement_node439, statement_node440, statement_node441, statement_node442, statement_node443, statement_node444, statement_node445, statement_node446, statement_node447, statement_node448, statement_node449, statement_node450, statement_node451, statement_node452, statement_node453, statement_node454, statement_node455, statement_node456, statement_node457, statement_node458, statement_node459, statement_node460, statement_node461, statement_node462, statement_node463, statement_node464, statement_node465, statement_node466, statement_node467, statement_node468, statement_node469, statement_node470, statement_node471, statement_node472, statement_node473, statement_node474, statement_node475, statement_node476, statement_node477, statement_node478, statement_node479, statement_node480, statement_node481, statement_node482, statement_node483, statement_node484, statement_node485, statement_node486, statement_node487, statement_node488, statement_node489, statement_node490, statement_node491, statement_node492, statement_node493, statement_node494, statement_node495, statement_node496, statement_node497, statement_node498, statement_node499, statement_node500, statement_node501, statement_node502, statement_node503, statement_node504, statement_node505, statement_node506, statement_node507, statement_node508, statement_node509, statement_node510, statement_node511, statement_node512, statement_node513, statement_node514, statement_node515, statement_node516, statement_node517, statement_node518, statement_node519, statement_node520, statement_node521, statement_node522, statement_node523]" definition networkConjunction :: bool where "networkConjunction \ (((((((((statement_node0 \ statement_node1) \ (statement_node2 \ statement_node3)) \ ((statement_node4 \ statement_node5) \ (statement_node6 \ statement_node7))) \ (((statement_node8 \ statement_node9) \ (statement_node10 \ statement_node11)) \ ((statement_node12 \ statement_node13) \ (statement_node14 \ statement_node15)))) \ ((((statement_node16 \ statement_node17) \ (statement_node18 \ statement_node19)) \ ((statement_node20 \ statement_node21) \ (statement_node22 \ statement_node23))) \ (((statement_node24 \ statement_node25) \ (statement_node26 \ statement_node27)) \ ((statement_node28 \ statement_node29) \ (statement_node30 \ statement_node31))))) \ (((((statement_node32 \ statement_node33) \ (statement_node34 \ statement_node35)) \ ((statement_node36 \ statement_node37) \ (statement_node38 \ statement_node39))) \ (((statement_node40 \ statement_node41) \ (statement_node42 \ statement_node43)) \ ((statement_node44 \ statement_node45) \ (statement_node46 \ statement_node47)))) \ ((((statement_node48 \ statement_node49) \ (statement_node50 \ statement_node51)) \ ((statement_node52 \ statement_node53) \ (statement_node54 \ statement_node55))) \ (((statement_node56 \ statement_node57) \ (statement_node58 \ statement_node59)) \ ((statement_node60 \ statement_node61) \ (statement_node62 \ (statement_node63 \ statement_node64))))))) \ ((((((statement_node65 \ statement_node66) \ (statement_node67 \ statement_node68)) \ ((statement_node69 \ statement_node70) \ (statement_node71 \ statement_node72))) \ (((statement_node73 \ statement_node74) \ (statement_node75 \ statement_node76)) \ ((statement_node77 \ statement_node78) \ (statement_node79 \ statement_node80)))) \ ((((statement_node81 \ statement_node82) \ (statement_node83 \ statement_node84)) \ ((statement_node85 \ statement_node86) \ (statement_node87 \ statement_node88))) \ (((statement_node89 \ statement_node90) \ (statement_node91 \ statement_node92)) \ ((statement_node93 \ statement_node94) \ (statement_node95 \ (statement_node96 \ statement_node97)))))) \ (((((statement_node98 \ statement_node99) \ (statement_node100 \ statement_node101)) \ ((statement_node102 \ statement_node103) \ (statement_node104 \ statement_node105))) \ (((statement_node106 \ statement_node107) \ (statement_node108 \ statement_node109)) \ ((statement_node110 \ statement_node111) \ (statement_node112 \ statement_node113)))) \ ((((statement_node114 \ statement_node115) \ (statement_node116 \ statement_node117)) \ ((statement_node118 \ statement_node119) \ (statement_node120 \ statement_node121))) \ (((statement_node122 \ statement_node123) \ (statement_node124 \ statement_node125)) \ ((statement_node126 \ statement_node127) \ (statement_node128 \ (statement_node129 \ statement_node130)))))))) \ (((((((statement_node131 \ statement_node132) \ (statement_node133 \ statement_node134)) \ ((statement_node135 \ statement_node136) \ (statement_node137 \ statement_node138))) \ (((statement_node139 \ statement_node140) \ (statement_node141 \ statement_node142)) \ ((statement_node143 \ statement_node144) \ (statement_node145 \ statement_node146)))) \ ((((statement_node147 \ statement_node148) \ (statement_node149 \ statement_node150)) \ ((statement_node151 \ statement_node152) \ (statement_node153 \ statement_node154))) \ (((statement_node155 \ statement_node156) \ (statement_node157 \ statement_node158)) \ ((statement_node159 \ statement_node160) \ (statement_node161 \ statement_node162))))) \ (((((statement_node163 \ statement_node164) \ (statement_node165 \ statement_node166)) \ ((statement_node167 \ statement_node168) \ (statement_node169 \ statement_node170))) \ (((statement_node171 \ statement_node172) \ (statement_node173 \ statement_node174)) \ ((statement_node175 \ statement_node176) \ (statement_node177 \ statement_node178)))) \ ((((statement_node179 \ statement_node180) \ (statement_node181 \ statement_node182)) \ ((statement_node183 \ statement_node184) \ (statement_node185 \ statement_node186))) \ (((statement_node187 \ statement_node188) \ (statement_node189 \ statement_node190)) \ ((statement_node191 \ statement_node192) \ (statement_node193 \ (statement_node194 \ statement_node195))))))) \ ((((((statement_node196 \ statement_node197) \ (statement_node198 \ statement_node199)) \ ((statement_node200 \ statement_node201) \ (statement_node202 \ statement_node203))) \ (((statement_node204 \ statement_node205) \ (statement_node206 \ statement_node207)) \ ((statement_node208 \ statement_node209) \ (statement_node210 \ statement_node211)))) \ ((((statement_node212 \ statement_node213) \ (statement_node214 \ statement_node215)) \ ((statement_node216 \ statement_node217) \ (statement_node218 \ statement_node219))) \ (((statement_node220 \ statement_node221) \ (statement_node222 \ statement_node223)) \ ((statement_node224 \ statement_node225) \ (statement_node226 \ (statement_node227 \ statement_node228)))))) \ (((((statement_node229 \ statement_node230) \ (statement_node231 \ statement_node232)) \ ((statement_node233 \ statement_node234) \ (statement_node235 \ statement_node236))) \ (((statement_node237 \ statement_node238) \ (statement_node239 \ statement_node240)) \ ((statement_node241 \ statement_node242) \ (statement_node243 \ statement_node244)))) \ ((((statement_node245 \ statement_node246) \ (statement_node247 \ statement_node248)) \ ((statement_node249 \ statement_node250) \ (statement_node251 \ statement_node252))) \ (((statement_node253 \ statement_node254) \ (statement_node255 \ statement_node256)) \ ((statement_node257 \ statement_node258) \ (statement_node259 \ (statement_node260 \ statement_node261))))))))) \ ((((((((statement_node262 \ statement_node263) \ (statement_node264 \ statement_node265)) \ ((statement_node266 \ statement_node267) \ (statement_node268 \ statement_node269))) \ (((statement_node270 \ statement_node271) \ (statement_node272 \ statement_node273)) \ ((statement_node274 \ statement_node275) \ (statement_node276 \ statement_node277)))) \ ((((statement_node278 \ statement_node279) \ (statement_node280 \ statement_node281)) \ ((statement_node282 \ statement_node283) \ (statement_node284 \ statement_node285))) \ (((statement_node286 \ statement_node287) \ (statement_node288 \ statement_node289)) \ ((statement_node290 \ statement_node291) \ (statement_node292 \ statement_node293))))) \ (((((statement_node294 \ statement_node295) \ (statement_node296 \ statement_node297)) \ ((statement_node298 \ statement_node299) \ (statement_node300 \ statement_node301))) \ (((statement_node302 \ statement_node303) \ (statement_node304 \ statement_node305)) \ ((statement_node306 \ statement_node307) \ (statement_node308 \ statement_node309)))) \ ((((statement_node310 \ statement_node311) \ (statement_node312 \ statement_node313)) \ ((statement_node314 \ statement_node315) \ (statement_node316 \ statement_node317))) \ (((statement_node318 \ statement_node319) \ (statement_node320 \ statement_node321)) \ ((statement_node322 \ statement_node323) \ (statement_node324 \ (statement_node325 \ statement_node326))))))) \ ((((((statement_node327 \ statement_node328) \ (statement_node329 \ statement_node330)) \ ((statement_node331 \ statement_node332) \ (statement_node333 \ statement_node334))) \ (((statement_node335 \ statement_node336) \ (statement_node337 \ statement_node338)) \ ((statement_node339 \ statement_node340) \ (statement_node341 \ statement_node342)))) \ ((((statement_node343 \ statement_node344) \ (statement_node345 \ statement_node346)) \ ((statement_node347 \ statement_node348) \ (statement_node349 \ statement_node350))) \ (((statement_node351 \ statement_node352) \ (statement_node353 \ statement_node354)) \ ((statement_node355 \ statement_node356) \ (statement_node357 \ (statement_node358 \ statement_node359)))))) \ (((((statement_node360 \ statement_node361) \ (statement_node362 \ statement_node363)) \ ((statement_node364 \ statement_node365) \ (statement_node366 \ statement_node367))) \ (((statement_node368 \ statement_node369) \ (statement_node370 \ statement_node371)) \ ((statement_node372 \ statement_node373) \ (statement_node374 \ statement_node375)))) \ ((((statement_node376 \ statement_node377) \ (statement_node378 \ statement_node379)) \ ((statement_node380 \ statement_node381) \ (statement_node382 \ statement_node383))) \ (((statement_node384 \ statement_node385) \ (statement_node386 \ statement_node387)) \ ((statement_node388 \ statement_node389) \ (statement_node390 \ (statement_node391 \ statement_node392)))))))) \ (((((((statement_node393 \ statement_node394) \ (statement_node395 \ statement_node396)) \ ((statement_node397 \ statement_node398) \ (statement_node399 \ statement_node400))) \ (((statement_node401 \ statement_node402) \ (statement_node403 \ statement_node404)) \ ((statement_node405 \ statement_node406) \ (statement_node407 \ statement_node408)))) \ ((((statement_node409 \ statement_node410) \ (statement_node411 \ statement_node412)) \ ((statement_node413 \ statement_node414) \ (statement_node415 \ statement_node416))) \ (((statement_node417 \ statement_node418) \ (statement_node419 \ statement_node420)) \ ((statement_node421 \ statement_node422) \ (statement_node423 \ statement_node424))))) \ (((((statement_node425 \ statement_node426) \ (statement_node427 \ statement_node428)) \ ((statement_node429 \ statement_node430) \ (statement_node431 \ statement_node432))) \ (((statement_node433 \ statement_node434) \ (statement_node435 \ statement_node436)) \ ((statement_node437 \ statement_node438) \ (statement_node439 \ statement_node440)))) \ ((((statement_node441 \ statement_node442) \ (statement_node443 \ statement_node444)) \ ((statement_node445 \ statement_node446) \ (statement_node447 \ statement_node448))) \ (((statement_node449 \ statement_node450) \ (statement_node451 \ statement_node452)) \ ((statement_node453 \ statement_node454) \ (statement_node455 \ (statement_node456 \ statement_node457))))))) \ ((((((statement_node458 \ statement_node459) \ (statement_node460 \ statement_node461)) \ ((statement_node462 \ statement_node463) \ (statement_node464 \ statement_node465))) \ (((statement_node466 \ statement_node467) \ (statement_node468 \ statement_node469)) \ ((statement_node470 \ statement_node471) \ (statement_node472 \ statement_node473)))) \ ((((statement_node474 \ statement_node475) \ (statement_node476 \ statement_node477)) \ ((statement_node478 \ statement_node479) \ (statement_node480 \ statement_node481))) \ (((statement_node482 \ statement_node483) \ (statement_node484 \ statement_node485)) \ ((statement_node486 \ statement_node487) \ (statement_node488 \ (statement_node489 \ statement_node490)))))) \ (((((statement_node491 \ statement_node492) \ (statement_node493 \ statement_node494)) \ ((statement_node495 \ statement_node496) \ (statement_node497 \ statement_node498))) \ (((statement_node499 \ statement_node500) \ (statement_node501 \ statement_node502)) \ ((statement_node503 \ statement_node504) \ (statement_node505 \ statement_node506)))) \ ((((statement_node507 \ statement_node508) \ (statement_node509 \ statement_node510)) \ ((statement_node511 \ statement_node512) \ (statement_node513 \ statement_node514))) \ (((statement_node515 \ statement_node516) \ (statement_node517 \ statement_node518)) \ ((statement_node519 \ statement_node520) \ (statement_node521 \ (statement_node522 \ statement_node523))))))))))" lemma whole_network_conjunction: "networkConjunction" by (simp add: networkConjunction_def node0 node1 node2 node3 node4 node5 node6 node7 node8 node9 node10 node11 node12 node13 node14 node15 node16 node17 node18 node19 node20 node21 node22 node23 node24 node25 node26 node27 node28 node29 node30 node31 node32 node33 node34 node35 node36 node37 node38 node39 node40 node41 node42 node43 node44 node45 node46 node47 node48 node49 node50 node51 node52 node53 node54 node55 node56 node57 node58 node59 node60 node61 node62 node63 node64 node65 node66 node67 node68 node69 node70 node71 node72 node73 node74 node75 node76 node77 node78 node79 node80 node81 node82 node83 node84 node85 node86 node87 node88 node89 node90 node91 node92 node93 node94 node95 node96 node97 node98 node99 node100 node101 node102 node103 node104 node105 node106 node107 node108 node109 node110 node111 node112 node113 node114 node115 node116 node117 node118 node119 node120 node121 node122 node123 node124 node125 node126 node127 node128 node129 node130 node131 node132 node133 node134 node135 node136 node137 node138 node139 node140 node141 node142 node143 node144 node145 node146 node147 node148 node149 node150 node151 node152 node153 node154 node155 node156 node157 node158 node159 node160 node161 node162 node163 node164 node165 node166 node167 node168 node169 node170 node171 node172 node173 node174 node175 node176 node177 node178 node179 node180 node181 node182 node183 node184 node185 node186 node187 node188 node189 node190 node191 node192 node193 node194 node195 node196 node197 node198 node199 node200 node201 node202 node203 node204 node205 node206 node207 node208 node209 node210 node211 node212 node213 node214 node215 node216 node217 node218 node219 node220 node221 node222 node223 node224 node225 node226 node227 node228 node229 node230 node231 node232 node233 node234 node235 node236 node237 node238 node239 node240 node241 node242 node243 node244 node245 node246 node247 node248 node249 node250 node251 node252 node253 node254 node255 node256 node257 node258 node259 node260 node261 node262 node263 node264 node265 node266 node267 node268 node269 node270 node271 node272 node273 node274 node275 node276 node277 node278 node279 node280 node281 node282 node283 node284 node285 node286 node287 node288 node289 node290 node291 node292 node293 node294 node295 node296 node297 node298 node299 node300 node301 node302 node303 node304 node305 node306 node307 node308 node309 node310 node311 node312 node313 node314 node315 node316 node317 node318 node319 node320 node321 node322 node323 node324 node325 node326 node327 node328 node329 node330 node331 node332 node333 node334 node335 node336 node337 node338 node339 node340 node341 node342 node343 node344 node345 node346 node347 node348 node349 node350 node351 node352 node353 node354 node355 node356 node357 node358 node359 node360 node361 node362 node363 node364 node365 node366 node367 node368 node369 node370 node371 node372 node373 node374 node375 node376 node377 node378 node379 node380 node381 node382 node383 node384 node385 node386 node387 node388 node389 node390 node391 node392 node393 node394 node395 node396 node397 node398 node399 node400 node401 node402 node403 node404 node405 node406 node407 node408 node409 node410 node411 node412 node413 node414 node415 node416 node417 node418 node419 node420 node421 node422 node423 node424 node425 node426 node427 node428 node429 node430 node431 node432 node433 node434 node435 node436 node437 node438 node439 node440 node441 node442 node443 node444 node445 node446 node447 node448 node449 node450 node451 node452 node453 node454 node455 node456 node457 node458 node459 node460 node461 node462 node463 node464 node465 node466 node467 node468 node469 node470 node471 node472 node473 node474 node475 node476 node477 node478 node479 node480 node481 node482 node483 node484 node485 node486 node487 node488 node489 node490 node491 node492 node493 node494 node495 node496 node497 node498 node499 node500 node501 node502 node503 node504 node505 node506 node507 node508 node509 node510 node511 node512 node513 node514 node515 node516 node517 node518 node519 node520 node521 node522 node523) lemma whole_network_certificate: "Certified allStatements" by (simp add: Certified_def allStatements_def node0 node1 node2 node3 node4 node5 node6 node7 node8 node9 node10 node11 node12 node13 node14 node15 node16 node17 node18 node19 node20 node21 node22 node23 node24 node25 node26 node27 node28 node29 node30 node31 node32 node33 node34 node35 node36 node37 node38 node39 node40 node41 node42 node43 node44 node45 node46 node47 node48 node49 node50 node51 node52 node53 node54 node55 node56 node57 node58 node59 node60 node61 node62 node63 node64 node65 node66 node67 node68 node69 node70 node71 node72 node73 node74 node75 node76 node77 node78 node79 node80 node81 node82 node83 node84 node85 node86 node87 node88 node89 node90 node91 node92 node93 node94 node95 node96 node97 node98 node99 node100 node101 node102 node103 node104 node105 node106 node107 node108 node109 node110 node111 node112 node113 node114 node115 node116 node117 node118 node119 node120 node121 node122 node123 node124 node125 node126 node127 node128 node129 node130 node131 node132 node133 node134 node135 node136 node137 node138 node139 node140 node141 node142 node143 node144 node145 node146 node147 node148 node149 node150 node151 node152 node153 node154 node155 node156 node157 node158 node159 node160 node161 node162 node163 node164 node165 node166 node167 node168 node169 node170 node171 node172 node173 node174 node175 node176 node177 node178 node179 node180 node181 node182 node183 node184 node185 node186 node187 node188 node189 node190 node191 node192 node193 node194 node195 node196 node197 node198 node199 node200 node201 node202 node203 node204 node205 node206 node207 node208 node209 node210 node211 node212 node213 node214 node215 node216 node217 node218 node219 node220 node221 node222 node223 node224 node225 node226 node227 node228 node229 node230 node231 node232 node233 node234 node235 node236 node237 node238 node239 node240 node241 node242 node243 node244 node245 node246 node247 node248 node249 node250 node251 node252 node253 node254 node255 node256 node257 node258 node259 node260 node261 node262 node263 node264 node265 node266 node267 node268 node269 node270 node271 node272 node273 node274 node275 node276 node277 node278 node279 node280 node281 node282 node283 node284 node285 node286 node287 node288 node289 node290 node291 node292 node293 node294 node295 node296 node297 node298 node299 node300 node301 node302 node303 node304 node305 node306 node307 node308 node309 node310 node311 node312 node313 node314 node315 node316 node317 node318 node319 node320 node321 node322 node323 node324 node325 node326 node327 node328 node329 node330 node331 node332 node333 node334 node335 node336 node337 node338 node339 node340 node341 node342 node343 node344 node345 node346 node347 node348 node349 node350 node351 node352 node353 node354 node355 node356 node357 node358 node359 node360 node361 node362 node363 node364 node365 node366 node367 node368 node369 node370 node371 node372 node373 node374 node375 node376 node377 node378 node379 node380 node381 node382 node383 node384 node385 node386 node387 node388 node389 node390 node391 node392 node393 node394 node395 node396 node397 node398 node399 node400 node401 node402 node403 node404 node405 node406 node407 node408 node409 node410 node411 node412 node413 node414 node415 node416 node417 node418 node419 node420 node421 node422 node423 node424 node425 node426 node427 node428 node429 node430 node431 node432 node433 node434 node435 node436 node437 node438 node439 node440 node441 node442 node443 node444 node445 node446 node447 node448 node449 node450 node451 node452 node453 node454 node455 node456 node457 node458 node459 node460 node461 node462 node463 node464 node465 node466 node467 node468 node469 node470 node471 node472 node473 node474 node475 node476 node477 node478 node479 node480 node481 node482 node483 node484 node485 node486 node487 node488 node489 node490 node491 node492 node493 node494 node495 node496 node497 node498 node499 node500 node501 node502 node503 node504 node505 node506 node507 node508 node509 node510 node511 node512 node513 node514 node515 node516 node517 node518 node519 node520 node521 node522 node523) lemma every_network_node_is_proved: "p \ set allStatements \ p" using certified_member whole_network_certificate by blast lemma false_is_not_a_network_node: "False \ set allStatements" using every_network_node_is_proved by blast lemma network_has_no_contradictory_member: "p \ set allStatements \ \ \ p" using every_network_node_is_proved by blast lemma complete_network_not_false: "\ (networkConjunction \ False)" using whole_network_conjunction by blast lemma scoped_implication_composition: "(P \ Q) \ (Q \ R) \ P \ R" by blast lemma scoped_many_conclusion_fork: "(P \ Q) \ (P \ R) \ P \ Q \ R" by blast lemma independent_context_union: "(A \ P) \ (B \ Q) \ A \ B \ P \ Q" by blast lemma equivalent_context_transport: "(A \ B) \ (A \ P) \ B \ P" by blast lemma higher_order_path_composition: "(A \ B) \ (B \ C) \ (C \ D) \ A \ D" by blast ML \ val witnesses = [@{thm witness_node0}, @{thm witness_node1}, @{thm witness_node2}, @{thm witness_node3}, @{thm witness_node4}, @{thm witness_node5}, @{thm witness_node6}, @{thm witness_node7}, @{thm witness_node8}, @{thm witness_node9}, @{thm witness_node10}, @{thm witness_node11}, @{thm witness_node12}, @{thm witness_node13}, @{thm witness_node14}, @{thm witness_node15}, @{thm witness_node16}, @{thm witness_node17}, @{thm witness_node18}, @{thm witness_node19}, @{thm witness_node20}, @{thm witness_node21}, @{thm witness_node22}, @{thm witness_node23}, @{thm witness_node24}, @{thm witness_node25}, @{thm witness_node26}, @{thm witness_node27}, @{thm witness_node28}, @{thm witness_node29}, @{thm witness_node30}, @{thm witness_node31}, @{thm witness_node32}, @{thm witness_node33}, @{thm witness_node34}, @{thm witness_node35}, @{thm witness_node36}, @{thm witness_node37}, @{thm witness_node38}, @{thm witness_node39}, @{thm witness_node40}, @{thm witness_node41}, @{thm witness_node42}, @{thm witness_node43}, @{thm witness_node44}, @{thm witness_node45}, @{thm witness_node46}, @{thm witness_node47}, @{thm witness_node48}, @{thm witness_node49}, @{thm witness_node50}, @{thm witness_node51}, @{thm witness_node52}, @{thm witness_node53}, @{thm witness_node54}, @{thm witness_node55}, @{thm witness_node56}, @{thm witness_node57}, @{thm witness_node58}, @{thm witness_node59}, @{thm witness_node60}, @{thm witness_node61}, @{thm witness_node62}, @{thm witness_node63}, @{thm witness_node64}, @{thm witness_node65}, @{thm witness_node66}, @{thm witness_node67}, @{thm witness_node68}, @{thm witness_node69}, @{thm witness_node70}, @{thm witness_node71}, @{thm witness_node72}, @{thm witness_node73}, @{thm witness_node74}, @{thm witness_node75}, @{thm witness_node76}, @{thm witness_node77}, @{thm witness_node78}, @{thm witness_node79}, @{thm witness_node80}, @{thm witness_node81}, @{thm witness_node82}, @{thm witness_node83}, @{thm witness_node84}, @{thm witness_node85}, @{thm witness_node86}, @{thm witness_node87}, @{thm witness_node88}, @{thm witness_node89}, @{thm witness_node90}, @{thm witness_node91}, @{thm witness_node92}, @{thm witness_node93}, @{thm witness_node94}, @{thm witness_node95}, @{thm witness_node96}, @{thm witness_node97}, @{thm witness_node98}, @{thm witness_node99}, @{thm witness_node100}, @{thm witness_node101}, @{thm witness_node102}, @{thm witness_node103}, @{thm witness_node104}, @{thm witness_node105}, @{thm witness_node106}, @{thm witness_node107}, @{thm witness_node108}, @{thm witness_node109}, @{thm witness_node110}, @{thm witness_node111}, @{thm witness_node112}, @{thm witness_node113}, @{thm witness_node114}, @{thm witness_node115}, @{thm witness_node116}, @{thm witness_node117}, @{thm witness_node118}, @{thm witness_node119}, @{thm witness_node120}, @{thm witness_node121}, @{thm witness_node122}, @{thm witness_node123}, @{thm witness_node124}, @{thm witness_node125}, @{thm witness_node126}, @{thm witness_node127}, @{thm witness_node128}, @{thm witness_node129}, @{thm witness_node130}, @{thm witness_node131}, @{thm witness_node132}, @{thm witness_node133}, @{thm witness_node134}, @{thm witness_node135}, @{thm witness_node136}, @{thm witness_node137}, @{thm witness_node138}, @{thm witness_node139}, @{thm witness_node140}, @{thm witness_node141}, @{thm witness_node142}, @{thm witness_node143}, @{thm witness_node144}, @{thm witness_node145}, @{thm witness_node146}, @{thm witness_node147}, @{thm witness_node148}, @{thm witness_node149}, @{thm witness_node150}, @{thm witness_node151}, @{thm witness_node152}, @{thm witness_node153}, @{thm witness_node154}, @{thm witness_node155}, @{thm witness_node156}, @{thm witness_node157}, @{thm witness_node158}, @{thm witness_node159}, @{thm witness_node160}, @{thm witness_node161}, @{thm witness_node162}, @{thm witness_node163}, @{thm witness_node164}, @{thm witness_node165}, @{thm witness_node166}, @{thm witness_node167}, @{thm witness_node168}, @{thm witness_node169}, @{thm witness_node170}, @{thm witness_node171}, @{thm witness_node172}, @{thm witness_node173}, @{thm witness_node174}, @{thm witness_node175}, @{thm witness_node176}, @{thm witness_node177}, @{thm witness_node178}, @{thm witness_node179}, @{thm witness_node180}, @{thm witness_node181}, @{thm witness_node182}, @{thm witness_node183}, @{thm witness_node184}, @{thm witness_node185}, @{thm witness_node186}, @{thm witness_node187}, @{thm witness_node188}, @{thm witness_node189}, @{thm witness_node190}, @{thm witness_node191}, @{thm witness_node192}, @{thm witness_node193}, @{thm witness_node194}, @{thm witness_node195}, @{thm witness_node196}, @{thm witness_node197}, @{thm witness_node198}, @{thm witness_node199}, @{thm witness_node200}, @{thm witness_node201}, @{thm witness_node202}, @{thm witness_node203}, @{thm witness_node204}, @{thm witness_node205}, @{thm witness_node206}, @{thm witness_node207}, @{thm witness_node208}, @{thm witness_node209}, @{thm witness_node210}, @{thm witness_node211}, @{thm witness_node212}, @{thm witness_node213}, @{thm witness_node214}, @{thm witness_node215}, @{thm witness_node216}, @{thm witness_node217}, @{thm witness_node218}, @{thm witness_node219}, @{thm witness_node220}, @{thm witness_node221}, @{thm witness_node222}, @{thm witness_node223}, @{thm witness_node224}, @{thm witness_node225}, @{thm witness_node226}, @{thm witness_node227}, @{thm witness_node228}, @{thm witness_node229}, @{thm witness_node230}, @{thm witness_node231}, @{thm witness_node232}, @{thm witness_node233}, @{thm witness_node234}, @{thm witness_node235}, @{thm witness_node236}, @{thm witness_node237}, @{thm witness_node238}, @{thm witness_node239}, @{thm witness_node240}, @{thm witness_node241}, @{thm witness_node242}, @{thm witness_node243}, @{thm witness_node244}, @{thm witness_node245}, @{thm witness_node246}, @{thm witness_node247}, @{thm witness_node248}, @{thm witness_node249}, @{thm witness_node250}, @{thm witness_node251}, @{thm witness_node252}, @{thm witness_node253}, @{thm witness_node254}, @{thm witness_node255}, @{thm witness_node256}, @{thm witness_node257}, @{thm witness_node258}, @{thm witness_node259}, @{thm witness_node260}, @{thm witness_node261}, @{thm witness_node262}, @{thm witness_node263}, @{thm witness_node264}, @{thm witness_node265}, @{thm witness_node266}, @{thm witness_node267}, @{thm witness_node268}, @{thm witness_node269}, @{thm witness_node270}, @{thm witness_node271}, @{thm witness_node272}, @{thm witness_node273}, @{thm witness_node274}, @{thm witness_node275}, @{thm witness_node276}, @{thm witness_node277}, @{thm witness_node278}, @{thm witness_node279}, @{thm witness_node280}, @{thm witness_node281}, @{thm witness_node282}, @{thm witness_node283}, @{thm witness_node284}, @{thm witness_node285}, @{thm witness_node286}, @{thm witness_node287}, @{thm witness_node288}, @{thm witness_node289}, @{thm witness_node290}, @{thm witness_node291}, @{thm witness_node292}, @{thm witness_node293}, @{thm witness_node294}, @{thm witness_node295}, @{thm witness_node296}, @{thm witness_node297}, @{thm witness_node298}, @{thm witness_node299}, @{thm witness_node300}, @{thm witness_node301}, @{thm witness_node302}, @{thm witness_node303}, @{thm witness_node304}, @{thm witness_node305}, @{thm witness_node306}, @{thm witness_node307}, @{thm witness_node308}, @{thm witness_node309}, @{thm witness_node310}, @{thm witness_node311}, @{thm witness_node312}, @{thm witness_node313}, @{thm witness_node314}, @{thm witness_node315}, @{thm witness_node316}, @{thm witness_node317}, @{thm witness_node318}, @{thm witness_node319}, @{thm witness_node320}, @{thm witness_node321}, @{thm witness_node322}, @{thm witness_node323}, @{thm witness_node324}, @{thm witness_node325}, @{thm witness_node326}, @{thm witness_node327}, @{thm witness_node328}, @{thm witness_node329}, @{thm witness_node330}, @{thm witness_node331}, @{thm witness_node332}, @{thm witness_node333}, @{thm witness_node334}, @{thm witness_node335}, @{thm witness_node336}, @{thm witness_node337}, @{thm witness_node338}, @{thm witness_node339}, @{thm witness_node340}, @{thm witness_node341}, @{thm witness_node342}, @{thm witness_node343}, @{thm witness_node344}, @{thm witness_node345}, @{thm witness_node346}, @{thm witness_node347}, @{thm witness_node348}, @{thm witness_node349}, @{thm witness_node350}, @{thm witness_node351}, @{thm witness_node352}, @{thm witness_node353}, @{thm witness_node354}, @{thm witness_node355}, @{thm witness_node356}, @{thm witness_node357}, @{thm witness_node358}, @{thm witness_node359}, @{thm witness_node360}, @{thm witness_node361}, @{thm witness_node362}, @{thm witness_node363}, @{thm witness_node364}, @{thm witness_node365}, @{thm witness_node366}, @{thm witness_node367}, @{thm witness_node368}, @{thm witness_node369}, @{thm witness_node370}, @{thm witness_node371}, @{thm witness_node372}, @{thm witness_node373}, @{thm witness_node374}, @{thm witness_node375}, @{thm witness_node376}, @{thm witness_node377}, @{thm witness_node378}, @{thm witness_node379}, @{thm witness_node380}, @{thm witness_node381}, @{thm witness_node382}, @{thm witness_node383}, @{thm witness_node384}, @{thm witness_node385}, @{thm witness_node386}, @{thm witness_node387}, @{thm witness_node388}, @{thm witness_node389}, @{thm witness_node390}, @{thm witness_node391}, @{thm witness_node392}, @{thm witness_node393}, @{thm witness_node394}, @{thm witness_node395}, @{thm witness_node396}, @{thm witness_node397}, @{thm witness_node398}, @{thm witness_node399}, @{thm witness_node400}, @{thm witness_node401}, @{thm witness_node402}, @{thm witness_node403}, @{thm witness_node404}, @{thm witness_node405}, @{thm witness_node406}, @{thm witness_node407}, @{thm witness_node408}, @{thm witness_node409}, @{thm witness_node410}, @{thm witness_node411}, @{thm witness_node412}, @{thm witness_node413}, @{thm witness_node414}, @{thm witness_node415}, @{thm witness_node416}, @{thm witness_node417}, @{thm witness_node418}, @{thm witness_node419}, @{thm witness_node420}, @{thm witness_node421}, @{thm witness_node422}, @{thm witness_node423}, @{thm witness_node424}, @{thm witness_node425}, @{thm witness_node426}, @{thm witness_node427}, @{thm witness_node428}, @{thm witness_node429}, @{thm witness_node430}, @{thm witness_node431}, @{thm witness_node432}, @{thm witness_node433}, @{thm witness_node434}, @{thm witness_node435}, @{thm witness_node436}, @{thm witness_node437}, @{thm witness_node438}, @{thm witness_node439}, @{thm witness_node440}, @{thm witness_node441}, @{thm witness_node442}, @{thm witness_node443}, @{thm witness_node444}, @{thm witness_node445}, @{thm witness_node446}, @{thm witness_node447}, @{thm witness_node448}, @{thm witness_node449}, @{thm witness_node450}, @{thm witness_node451}, @{thm witness_node452}, @{thm witness_node453}, @{thm witness_node454}, @{thm witness_node455}, @{thm witness_node456}, @{thm witness_node457}, @{thm witness_node458}, @{thm witness_node459}, @{thm witness_node460}, @{thm witness_node461}, @{thm witness_node462}, @{thm witness_node463}, @{thm witness_node464}, @{thm witness_node465}, @{thm witness_node466}, @{thm witness_node467}, @{thm witness_node468}, @{thm witness_node469}, @{thm witness_node470}, @{thm witness_node471}, @{thm witness_node472}, @{thm witness_node473}, @{thm witness_node474}, @{thm witness_node475}, @{thm witness_node476}, @{thm witness_node477}, @{thm witness_node478}, @{thm witness_node479}, @{thm witness_node480}, @{thm witness_node481}, @{thm witness_node482}, @{thm witness_node483}, @{thm witness_node484}, @{thm witness_node485}, @{thm witness_node486}, @{thm witness_node487}, @{thm witness_node488}, @{thm witness_node489}, @{thm witness_node490}, @{thm witness_node491}, @{thm witness_node492}, @{thm witness_node493}, @{thm witness_node494}, @{thm witness_node495}, @{thm witness_node496}, @{thm witness_node497}, @{thm witness_node498}, @{thm witness_node499}, @{thm witness_node500}, @{thm witness_node501}, @{thm witness_node502}, @{thm witness_node503}, @{thm witness_node504}, @{thm witness_node505}, @{thm witness_node506}, @{thm witness_node507}, @{thm witness_node508}, @{thm witness_node509}, @{thm witness_node510}, @{thm witness_node511}, @{thm witness_node512}, @{thm witness_node513}, @{thm witness_node514}, @{thm witness_node515}, @{thm witness_node516}, @{thm witness_node517}, @{thm witness_node518}, @{thm witness_node519}, @{thm witness_node520}, @{thm witness_node521}, @{thm witness_node522}, @{thm witness_node523}, @{thm certified_member}, @{thm whole_network_conjunction}, @{thm whole_network_certificate}, @{thm every_network_node_is_proved}, @{thm false_is_not_a_network_node}, @{thm network_has_no_contradictory_member}, @{thm complete_network_not_false}, @{thm scoped_implication_composition}, @{thm scoped_many_conclusion_fork}, @{thm independent_context_union}, @{thm equivalent_context_transport}, @{thm higher_order_path_composition}]; val _ = if null (Thm_Deps.all_oracles witnesses) then () else error "Proof-network theorem depends on an oracle or skipped proof"; val _ = if @{typ mcb_program} = @{typ mcb_data} then () else error "MCB code/data aliases differ"; val _ = writeln ("PROOF_NETWORK_WITNESSES=" ^ Int.toString (length witnesses) ^ " ORACLES=0 TYPE_ALIAS_IDENTITY=checked"); \ end