
Persistent Object Manager text dump: 
	i	addr		type		arg	head	tail	size
	0	##ADDR##	________	0	#HEAD#	#TAIL#	0
	1	##ADDR##	module__	0	#HEAD#	#TAIL#	##SIZE##
	2	##ADDR##	namespc_	0	#HEAD#	#TAIL#	28
	3	##ADDR##	procplch	0	#HEAD#	#TAIL#	27
	4	##ADDR##	procdefn	0	#HEAD#	#TAIL#	109
	5	##ADDR##	dboolplh	0	#HEAD#	#TAIL#	26
	6	##ADDR##	dboolplh	0	#HEAD#	#TAIL#	26
	7	##ADDR##	portscop	0	#HEAD#	#TAIL#	20
	8	##ADDR##	datainst	0	#HEAD#	#TAIL#	20
	9	##ADDR##	datatprf	0	#HEAD#	#TAIL#	20
	10	##ADDR##	datadefn	0	#HEAD#	#TAIL#	69
	11	##ADDR##	crnglst_	0	#HEAD#	#TAIL#	28
	12	##ADDR##	datainst	0	#HEAD#	#TAIL#	20
	13	##ADDR##	datatprf	0	#HEAD#	#TAIL#	20
	14	##ADDR##	PRSpuldn	0	#HEAD#	#TAIL#	21
	15	##ADDR##	PRSorlp_	0	#HEAD#	#TAIL#	20
	16	##ADDR##	pintplch	0	#HEAD#	#TAIL#	29
	17	##ADDR##	cnstrng_	0	#HEAD#	#TAIL#	16
	18	##ADDR##	PRSandlp	0	#HEAD#	#TAIL#	20
	19	##ADDR##	pintplch	0	#HEAD#	#TAIL#	29
	20	##ADDR##	cnstrng_	0	#HEAD#	#TAIL#	16
	21	##ADDR##	PRSlitrl	0	#HEAD#	#TAIL#	16
	22	##ADDR##	sdbmiref	0	#HEAD#	#TAIL#	16
	23	##ADDR##	dindlst_	0	#HEAD#	#TAIL#	20
	24	##ADDR##	spimvref	0	#HEAD#	#TAIL#	16
	25	##ADDR##	spimvref	0	#HEAD#	#TAIL#	16
	26	##ADDR##	sdbmiref	0	#HEAD#	#TAIL#	16
	27	##ADDR##	PRSpulup	0	#HEAD#	#TAIL#	21
	28	##ADDR##	PRSandlp	0	#HEAD#	#TAIL#	20
	29	##ADDR##	pintplch	0	#HEAD#	#TAIL#	29
	30	##ADDR##	cnstrng_	0	#HEAD#	#TAIL#	16
	31	##ADDR##	PRSorlp_	0	#HEAD#	#TAIL#	20
	32	##ADDR##	pintplch	0	#HEAD#	#TAIL#	29
	33	##ADDR##	cnstrng_	0	#HEAD#	#TAIL#	16
	34	##ADDR##	PRSnot__	0	#HEAD#	#TAIL#	12
	35	##ADDR##	PRSlitrl	0	#HEAD#	#TAIL#	16
	36	##ADDR##	sdbmiref	0	#HEAD#	#TAIL#	16
	37	##ADDR##	dindlst_	0	#HEAD#	#TAIL#	20
	38	##ADDR##	spimvref	0	#HEAD#	#TAIL#	16
	39	##ADDR##	spimvref	0	#HEAD#	#TAIL#	16
	40	##ADDR##	sdbmiref	0	#HEAD#	#TAIL#	16
	41	##ADDR##	footprnt	0	#HEAD#	#TAIL#	1370
	42	##ADDR##	procinst	0	#HEAD#	#TAIL#	20
	43	##ADDR##	proctprf	0	#HEAD#	#TAIL#	20
	44	##ADDR##	footprnt	0	#HEAD#	#TAIL#	594
	45	##ADDR##	cprmlst_	0	#HEAD#	#TAIL#	12

In module created from: ##FILE## (unrolled) (created)
In namespace "", we have: {
  0 parameter-collections
  1 instantiation-collections
  0 sub-namespaces
  1 definitions
  0 typedefs
  Definitions:
    matrix_array = process-definition (defined) matrix_array(
        bool<> in[0..3][0..3]
        bool<> _o
      )
      In definition "matrix_array", we have: {
      Instances:
        _o = bool<> matrix_array::_o
        in = bool<> matrix_array::in^2
      unroll sequence: 
        ports: (
          bool<> in[0..3][0..3]
          bool<> _o
        )
      prs:
        (|:i:[0..3]: (&:j:[0..3]: in[$i][$j])) -> _o-
        (&:i:[0..3]: (|:j:[0..3]: ~in[$i][$j])) -> _o+
      footprint: {
        _o = bool^0 = matrix_array<>::_o (1) 
        in = bool^2
          {
            [0][0] = matrix_array<>::in[0][0] (2) 
            [0][1] = matrix_array<>::in[0][1] (3) 
            [0][2] = matrix_array<>::in[0][2] (4) 
            [0][3] = matrix_array<>::in[0][3] (5) 
            [1][0] = matrix_array<>::in[1][0] (6) 
            [1][1] = matrix_array<>::in[1][1] (7) 
            [1][2] = matrix_array<>::in[1][2] (8) 
            [1][3] = matrix_array<>::in[1][3] (9) 
            [2][0] = matrix_array<>::in[2][0] (10) 
            [2][1] = matrix_array<>::in[2][1] (11) 
            [2][2] = matrix_array<>::in[2][2] (12) 
            [2][3] = matrix_array<>::in[2][3] (13) 
            [3][0] = matrix_array<>::in[3][0] (14) 
            [3][1] = matrix_array<>::in[3][1] (15) 
            [3][2] = matrix_array<>::in[3][2] (16) 
            [3][3] = matrix_array<>::in[3][3] (17) 
          }
        Created state:
        bool instance pool:
        1	matrix_array<>::_o
        2	matrix_array<>::in[0][0]
        3	matrix_array<>::in[0][1]
        4	matrix_array<>::in[0][2]
        5	matrix_array<>::in[0][3]
        6	matrix_array<>::in[1][0]
        7	matrix_array<>::in[1][1]
        8	matrix_array<>::in[1][2]
        9	matrix_array<>::in[1][3]
        10	matrix_array<>::in[2][0]
        11	matrix_array<>::in[2][1]
        12	matrix_array<>::in[2][2]
        13	matrix_array<>::in[2][3]
        14	matrix_array<>::in[3][0]
        15	matrix_array<>::in[3][1]
        16	matrix_array<>::in[3][2]
        17	matrix_array<>::in[3][3]
        resolved prs:
        (in[0][0] & in[0][1] & in[0][2] & in[0][3]) | (in[1][0] & in[1][1] & in[1][2] & in[1][3]) | (in[2][0] & in[2][1] & in[2][2] & in[2][3]) | (in[3][0] & in[3][1] & in[3][2] & in[3][3]) -> _o-
        (~in[0][0] | ~in[0][1] | ~in[0][2] | ~in[0][3]) & (~in[1][0] | ~in[1][1] | ~in[1][2] | ~in[1][3]) & (~in[2][0] | ~in[2][1] | ~in[2][2] | ~in[2][3]) & (~in[3][0] | ~in[3][1] | ~in[3][2] | ~in[3][3]) -> _o+
      }
      }

  Instances:
    foo = matrix_array<> foo
}

footprint: {
  foo = process matrix_array<>^0 = foo (1) (
    in = bool^2
      {
        [0][0] = foo.in[0][0] (1) 
        [0][1] = foo.in[0][1] (2) 
        [0][2] = foo.in[0][2] (3) 
        [0][3] = foo.in[0][3] (4) 
        [1][0] = foo.in[1][0] (5) 
        [1][1] = foo.in[1][1] (6) 
        [1][2] = foo.in[1][2] (7) 
        [1][3] = foo.in[1][3] (8) 
        [2][0] = foo.in[2][0] (9) 
        [2][1] = foo.in[2][1] (10) 
        [2][2] = foo.in[2][2] (11) 
        [2][3] = foo.in[2][3] (12) 
        [3][0] = foo.in[3][0] (13) 
        [3][1] = foo.in[3][1] (14) 
        [3][2] = foo.in[3][2] (15) 
        [3][3] = foo.in[3][3] (16) 
      }
    _o = bool^0 = foo._o (17) 
  )
  Created state:
  process instance pool:
  1	foo
  bool instance pool:
  1	foo.in[0][0]
  2	foo.in[0][1]
  3	foo.in[0][2]
  4	foo.in[0][3]
  5	foo.in[1][0]
  6	foo.in[1][1]
  7	foo.in[1][2]
  8	foo.in[1][3]
  9	foo.in[2][0]
  10	foo.in[2][1]
  11	foo.in[2][2]
  12	foo.in[2][3]
  13	foo.in[3][0]
  14	foo.in[3][1]
  15	foo.in[3][2]
  16	foo.in[3][3]
  17	foo._o
}
