Question: How do I simplify booleans with lots of parentheses ?

Hello,

I am facing a problem when trying to simplify those kind of equation: 

((((((((((((((OD &and (NPi &or NEXTotp)) &and &not ((((((((POinoBlaze &and &not (OD &and ((POLYGi1 &and POBIASPdrawing2) &or  (POLYGi1 &and POBIASMdrawing2)))) &or (OD &and (spolyp2 &or spolym2))) &and &not (OD &and ((POLYGi2 &and POBIASPdrawing4) &or (POLYGi2 &and POBIASMdrawing4)))) &or (OD &and (spolyp4 &or spolym4))) &and &not (OD &and ((POLYGi3 &and POBIASPdrawing6) &or (POLYGi3 &and POBIASMdrawing6)))) &or (OD &and (spolyp6 &or spolym6))) &and &not BLACKBOXall) &and &not POLYACTsign)) &and (((BULK &and &not (SUBS1 &and &not MSUB0)) &and &not (NWELi &and &not MKRMSKREG)) &and &not PWbki)) &and &not ((NACTALL0 &and &not  NWRNW) &and &not  PWELL1)) &and &not OD225dg) &and &not OD218dg)  &and &not ((VNPNMSIPW &and &not EMPTY) &or (VNPNMSIPW25 &and &not EMPTY))) &and &not RPOi) &and &not ((NACTALL0 &and PWELL1)  &and  POi)) &and &not (((OD &and (PPi &and &not (SEALRINGi  &and &not PMDMY))) &and &not POi) &and PWELL1)) &and &not VTHNi) &and &not VTLNi) &and ((DCOng &or DCOmsk) &or DCOdg)) &and &not MKRHPA) &and &not EMPTY

When i try to simplify the previous equation by using this methode:

with(Logic);
BooleanSimplify(Equation);

Maple runs in loop and i'm just getting those kind of replys :

    |\^/|     Maple 2016 (X86 64 LINUX)
._|\|   |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2016
 \  MAPLE  /  All rights reserved. Maple is a trademark of
 <____ ____>  Waterloo Maple Inc.
      |       Type ? for help.
> with(Logic);
        [&and, &iff, &implies, &nand, &nor, &not, &or, &xor, BooleanGraph, BooleanSimplify, Canonicalize, Complement, Contradiction, Dual, Environment, Equivalent, Export, Implies, Import, Normalize, Random, Satisfiable, Satisfy, Tautology, TruthTable, Tseitin]

> BooleanSimplify(((((((((((((((OD &and (NPi &or NEXTotp)) &and &not ((((((((POinoBlaze &and &not (OD &and ((POLYGi1 &and POBIASPdrawing\
> 2) &or  (POLYGi1 &and POBIASMdrawing2)))) &or (OD &and (spolyp2 &or spolym2))) &and &not (OD &and ((POLYGi2 &and POBIASPdrawing4) &or \
> (POLYGi2 &and POBIASMdrawing4)))) &or (OD &and (spolyp4 &or spolym4))) &and &not (OD &and ((POLYGi3 &and POBIASPdrawing6) &or (POLYGi3\
>  &and POBIASMdrawing6)))) &or (OD &and (spolyp6 &or spolym6))) &and &not BLACKBOXall) &and &not POLYACTsign)) &and (((BULK &and &not (\
> SUBS1 &and &not MSUB0)) &and &not (NWELi &and &not MKRMSKREG)) &and &not PWbki)) &and &not ((NACTALL0 &and &not  NWRNW) &and &not  PWE\
> LL1)) &and &not OD225dg) &and &not OD218dg)  &and &not ((VNPNMSIPW &and &not EMPTY) &or (VNPNMSIPW25 &and &not EMPTY))) &and &not RPOi\
> ) &and &not ((NACTALL0 &and PWELL1)  &and  POi)) &and &not (((OD &and (PPi &and &not (SEALRINGi  &and &not PMDMY))) &and &not POi) &and PWELL1)) &and &not VTHNi) &and &not VTLNi) &and ((DCOng &or DCOmsk) &or DCOdg)) &and &not MKRHPA) &and &not EMPTY);
memory used=3.8MB, alloc=40.3MB, time=0.23
memory used=39.0MB, alloc=78.8MB, time=0.89
memory used=96.1MB, alloc=123.9MB, time=2.22
memory used=127.6MB, alloc=411.9MB, time=3.51
memory used=130.5MB, alloc=443.9MB, time=5.71
memory used=136.2MB, alloc=443.9MB, time=7.11
memory used=203.0MB, alloc=475.9MB, time=10.22
memory used=205.5MB, alloc=475.9MB, time=11.71
memory used=326.1MB, alloc=507.9MB, time=14.84

When i delete all the parentheses, everythink work perfectly.

So i assume that when there is too much parentheses dependence maple work not correctly.

Do you have any idea if i'm wrong or not ? Maybe i'm not using the functions correctly ?

Do you have any suggestion on how i should proceed to simplify this equation ?

Thank you for your help.

Please Wait...