# EX 1
model.b1 = Block()
model.b1.c = Constraint()
model.b2 = Block()
model.b2.c = Constraint()
model.b1.active = True

# EX 2
model.c1 = Constraint()
model.c2 = Constraint()
model.b = Block(model.c1,model.c2)

# EX 3
model.d = Disjunction(model.b1, model.b2, model.b3)

# EX 4
model.d = Disjunction(num_blocks=3, rule=d_rule)

# EX 5
model.d = Disjunction( Constraint(rule1), Constraint(rule2) )

# EX 6
model.d = Disjunction(rule=[d1_rule, d2_rule])

# EX 7
model.A = Set()
model.d = Disjunction(model.A, rule=d_rule)

# EX 8
model.A = Set()
model.d = Disjunction(model.A, num_blocks=3, rule=d_rule)



###
model.d[a][i].c1   # Get constraint c1 in block model.d[a][i]
model.d[a]()       # Get value of boolean in model.d[a]
model.d[a][i]      # Get value of i-th boolean in model.d[a]

