Knowing a and c does not entail b. That can be easily ilustarted with the classical example, definition of uncle:
:hasUncle
rdf:type owl:ObjectProperty ;
owl:propertyChainAxiom (
:hasParent
:hasBrother
) .
Then if :David :hasParent :Mary and :Mary :hasBrother :John, a DL reasoner would indeed infer that :David :hasUncle :John. But if we assert that :David :hasUncle :John and :David :hasParent :Mary, that is not sufficient to infer that :Mary :hasBrother :John. And indeed John can be a brother of another parent of Mary.
Please note that the definition statement says that the property chain is subProperty of :hasUncle and not equivalent property. So, even if you assert :hasParent as functional, the reasoner would still not infer b from a and c. However, OWL2 does not allow to have equivalent combination of object properties.
The property chains should be applied with care. For example, in S1 º S2 º S3 º ... º Sn ⊑ R, R can only be on the first or last place of the left side of the expression. Otherwise it won't be decidable. This is one of the restrictions to Regular RBoxes. And property chains, or more formally "General Role Inclusion" can only be decidable if applied to Regular RBoxes.