Finding the number of children of the predecessor node of a given node in a Binary Search Tree(BST)
The Q is not clear enough for me, an in-order traversal will get u "n2" as the predecessor of "n1" so  what is exactly required???

Regarding ur prepositions:

-P1:         if n1 has 2 children, or just a left child, then n2 is the rightmost leaf of n1's left child

So  Proposition 1 is  correct

-P2:
-As stated above, if n1 only child is a left child, n2  have atmost only left child. 
(meaning not just at most 1, but it must be left) 

-if n1 has only a right child, then reverse the argument; i.e., n2 is the node n1 is her left child of a right child (search upward for a node smaller than n1.. its parent if it is a right child does not make a difference if its parent has another left child or not, parent of parent,....)

For the bold case inside the brackets, ur second proposition is wrong. 

I'll try to find an example picture, u may search any data structure text book for a complete tree to exhaust all different cases by ur self

Check the example in the second pic in this Q (My mobile is subject to a Denial of Service attack that prevents attaching it here again) 

Ambiguity with the Top View of a binary tree

It is clear that 10 precedes 11, 11 has one right child while 10 has two