Predicate Answer Set Programming with Coinduction: Coinductive SLDNF and its applcation to Predicate Answer Set Programming