To define the product of two predicates, we extend the language with one binary function symbol [ x, y ] . Then the product of two unary predicates is defined by the following predicate A × B
intro.Product added as introduction rule (abbrev: i , options: -i -c )
elim.Product added as elimination rule (abbrev: r , options: -i )
injective_left.Product added as elimination rule (abbrev: Product , options: -i -n )